不混淆某个类 -keep public class name.huihui.example.Test { *; }
不混淆某个包所有的类 -keep class name.huihui.test.** { *; }
不混淆某个类的子类 -keep public class * extends name.huihui.example.Test { *; }
不混淆所有类名中包含了“model”的类及其成员 -keep public class .model. {*;}
不混淆某个接口的实现 -keep class * implements name.huihui.example.TestInterface { *; }
不混淆某个类的构造方法 -keepclassmembers class name.huihui.example.Test { public (); }
不混淆某个类的特定的方法 -keepclassmembers class name.huihui.example.Test { public void test(java.lang.String); }
One类下的所有public方法都不会被混淆 -keep class cn.hadcn.test.One { public ; }
One类下的JSONObject作为入参的构造函数不会被混淆 -keep class cn.hadcn.test.One { public (org.json.JSONObject); }
- /**
- * minifyEnabled true为打开,开启混淆会使编译时间变长,默认不开启
- * proguard-android.txt 系统默认的混淆文件,具体在../sdk/tools/proguard/目录下
- * proguard-rules.pro 项目中自定义的混淆规则
- */
- android {
- buildTypes {
- release {
- minifyEnabled true
- proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
- }
- }
- }