第一步:
在app下的build.gradle中添加
buildTypes {
release {
//混淆
minifyEnabled trueshrinkResources true//去掉不用资源//混淆并去除日志信息
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'),'proguard-rules.pro'
//混淆
// proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
第二步:
在proguard-rules.pro文件中自定义混淆代码
-keepclassmembers class fqcn.of.javascript.interface.for.webview {
public *;
}
-keepclassmembers public class * extends android.view.View{
void set*(***);
*** get*();
}
-keepclassmembers class * extends android.app.Actitity{
public void *(android.view.View);
}
-keepclassmembers class * implements android.os.Parcelable{
public static final android.os.Parcelable$Creator *;
}
-keepclassmembers class **.R$*{
public static ;
}
#去除系统工具类打印的日志信息
-assumenosideeffects class android.util.Log{
public static boolean isLoggable(java.lang.String,int);
public static int w(...);
public static int i(...);
public static int v(...);
public static int e(...);
public static int d(...);
}
第四步:
该混淆在release打包状态下的,混淆代码写好后,进行release打包
第五步:
第六步:
选中V1 或V2 活着全部选中 点击完成
以下界面为正确的产生了混淆后的release包