写好混淆配置文件,再对apk进行签名打包即可得到混淆后的apk包
签名打包参考:
http://jojol-zhou.iteye.com/blog/719428
我常用的混淆配置文件
-optimizationpasses 5
-dontusemixedcaseclassnames
-dontskipnonpubliclibraryclasses
-dontpreverify
-verbose
-optimizations !code/simplification/arithmetic,!field/*,!class/merging/*
-keep public class * extends android.app.Activity
-keep public class * extends android.app.Application
-keep public class * extends android.app.Service
-keep public class * extends android.content.BroadcastReceiver
-keep public class * extends android.content.ContentProvider
-keep public class * extends android.app.backup.BackupAgentHelper
-keep public class * extends android.preference.Preference
-keep public class com.android.vending.licensing.ILicensingService
-keep public abstract interface com.asqw.android.Listener{
public protected <methods>;
}
-keep public class com.asqw.android{
public void Start(java.lang.String);
}
-keepclasseswithmembernames class * {
native <methods>;
}
-keepclasseswithmembers class * {
public <init>(android.content.Context, android.util.AttributeSet);
}
-keepclasseswithmembers class * {
public <init>(android.content.Context, android.util.AttributeSet, int);
}
-keepclassmembers class * extends android.app.Activity {
public void *(android.view.View);
}
-keepclassmembers enum * {
public static **[] values();
public static ** valueOf(java.lang.String);
}
-keep class * implements android.os.Parcelable {
public static final android.os.Parcelable$Creator *;
}
-ignorewarnings
关于配置文件的解释
-injars androidtest.jar【jar包所在地址】
-outjars out【输出地址】
-libraryjars 'D:\android-sdk-windows\platforms\android-9\android.jar' 【引用的库的jar,用于解析injars所指定的jar类】
-optimizationpasses 5
-dontusemixedcaseclassnames 【混淆时不会产生形形色色的类名 】
-dontskipnonpubliclibraryclasses 【指定不去忽略非公共的库类。 】
-dontpreverify 【不预校验】
-verbose
-optimizations !code/simplification/arithmetic,!field/*,!class/merging/* 【优化】
-keep public class * extends android.app.Activity 【不进行混淆保持原样】
-keep public class * extends android.app.Application
-keep public class * extends android.app.Service
-keep public class * extends android.content.BroadcastReceiver
-keep public class * extends android.content.ContentProvider
-keep public class * extends android.app.backup.BackupAgentHelper
-keep public class * extends android.preference.Preference
-keep public class com.android.vending.licensing.ILicensingService
-keep public abstract interface com.asqw.android.Listener{
public protected <methods>; 【所有方法不进行混淆】
}
-keep public class com.asqw.android{
public void Start(java.lang.String); 【对该方法不进行混淆】
}
-keepclasseswithmembernames class * { 【保护指定的类和类的成员的名称,如果所有指定的类成员出席(在压缩步骤之后)】
native <methods>;
}
-keepclasseswithmembers class * { 【保护指定的类和类的成员,但条件是所有指定的类和类成员是要存在。】
public <init>(android.content.Context, android.util.AttributeSet);
}
-keepclasseswithmembers class * {
public <init>(android.content.Context, android.util.AttributeSet, int);
}
-keepclassmembers class * extends android.app.Activity {【保护指定类的成员,如果此类受到保护他们会保护的更好 】
public void *(android.view.View);
}
-keepclassmembers enum * {
public static **[] values();
public static ** valueOf(java.lang.String);
}
-keep class * implements android.os.Parcelable {【保护指定的类文件和类的成员】
public static final android.os.Parcelable$Creator *;
}
出现can't find referenced class的警告时,可以在proguard.cfg中添加-ignorewarnings来解决。
分享到:
相关推荐
NULL 博文链接:https://913.iteye.com/blog/1482126
1、由于有proguard混淆器的原因,怎么处理签名打包之后出现的crash问题; 2、使用Proguard代码混淆器,需要注意的一些小细节; 3、使用Proguard代码混淆器,怎么keep一个类,以及keep一个类机器子类。
Android App的签名打包 1.签名的意义 为了保证每个应用程序开发商合法ID,防止部分开放商可能通过使用相同的Package Name来混淆替换已经安装的程序,我们需要对我们发布的APK文件进行唯一签名,保证我们每次发布...
赶快下载吧,非常实用的,不需要持续打包,简单方便!
android apk打包,用于上线。开发商可能通过使用相同的Package Name来混淆替换已经安装的程序,所以增加了签名。 后期再发布上线流程.
打包分debug版和release包,通常所说的打包指生成release版的apk,release版的apk会比debug版的小,release版的还会进行混淆和用自己的keystore签名,以防止别人反编译后重新打包替换你的应用。 简单点说就是给你...
插件实现了加固部分的签名校验和dex分包加载,dex加密等,其余功能是多渠道打包和自定义分包 先说说写这个插件的目的,其实就是第三方加固不方便还要钱,没有插件打包方便集成,最主要的是不知道别人怎么弄的出现bug...
资源混淆组件不涉及编译过程,只需输入一个apk(无论签名与否,debug版,release版均可,在处理过程中会直接将原签名删除),可得到一个实现资源混淆后的apk(若在配置文件中输入签名信息,可自动重签名并对齐,得到可...
Android打包过程大致如图所示,整个流程就是将Java代码,资源文件以及第三方库整合成一个Apk文件,并对整合后的文件进行签名和优化对齐。整个过程可以简 单分为以下几个步骤: 资源预编译 为每一个非assert资源...
系统通过对apk反编译,随机包名,随机签名,混淆代码等方式,回编译生成新的apk安装包 通过系统智能自动处理,间隔5分钟(可以自定义时间)生成一个新包,通过对接对象云储存系统 分发给不同的用户下载使用,确保...
汉化应用、替换资源、修改布局、修改逻辑代码、资源混淆、去除...- APK 编辑功能,主要有 DEX 编辑,ARSC 编辑,XML 编辑,APK 签名、APK 优化、APK 共存、去除签名校验、RES 资源混淆、RES 反资源混淆、翻译模式等。
这个软件主要是pc端的Androoid反编译工具,用于对apk的反编译、反汇编、打包apk、签名apk
Android资源混淆工具,资源混淆组件不涉及编译过程,只需输入一个apk(无论签名与否,debug版,release版均可,在处理过程中会直接将原签名删除),可得到一个实现资源混淆后的apk(若在配置文件中输入签名信息,可自动...
混淆已打入 Library,随 Library 引用,自动添加到 apk 打包混淆获取 android 微信签名信息非官方方法 -> 反编译 Gen_Signature_Android2.apk 所得命令:keytool -list -v -keystore ${your_keystore_path} -...
# 混淆已打入 Library,随 Library 引用,自动添加到 apk 打包混淆 获取 android 微信签名信息 非官方方法 -> 反编译 app_signatures.apk 所得 命令: keytool -list -v -keystore ${your_keystore_path} -storepass...
Android-Batch-Pack 是实现批量打包apk的工具,适用于包含了第三方library project的project,并且不影响project的代码混淆,每次打包自动修改用于统计的渠道标签(如友盟统计的channel tag)。目前只是用于windows...
# 混淆已打入 Library,随 Library 引用,自动添加到 apk 打包混淆 ios 在Xcode中,选择你的工程设置项,选中“TARGETS”一栏,在“info”标签栏的“URL type“添加“URL scheme”为你所注册的应用程序id URL Types ...
用户只需要提供打包好的APK文件,可以集成DEX文件加密、SO文件壳、防二次打包和其他安全功能。 针对不同的应用安全需求,可以提供不同级别的安全防护功能,比如高强度的安全对抗,可以选择使用Java2C、代码混淆或者...