-
反射类不进行混淆
-
实体类不被混淆
-
JS调用的Java方法
-
四大组件不进行混淆
-
JNI中调用类不进行混淆
-
Layout布局使用的
View
构造函数、android:onClick
等 -
Parcelable
的子类和Creator
静态成员变量不混淆
基本混淆指令
设置混淆的压缩比率 0 ~ 7
-optimizationpasses 5
混淆时不使用大小写混合,混淆后的类名为小写
-dontusemixedcaseclassnames
指定不去忽略非公共库的类
-dontskipnonpubliclibraryclasses
指定不去忽略非公共库的成员
-dontskipnonpubliclibraryclassmembers
混淆时不做预校验
-dontpreverify
混淆时不记录日志
-verbose
忽略警告
-ignorewarning
代码优化
-dontshrink
不优化输入的类文件
-dontoptimize
保留注解不混淆
-keepattributes Annotation,InnerClasses
避免混淆泛型
-keepattributes Signature
保留代码行号,方便异常信息的追踪
-keepattributes SourceFile,LineNumberTable
混淆采用的算法
-optimizations !code/simplification/cast,!field/,!class/merging/