-dontwarn 命令一般在我们引入新的 library 时会使用到,常用于处理 library 中无法解决的警告。如:
- -keep class twitter4j.** { *; }
- -dontwarn twitter4j.**
其他的命令用法可参考 Android 系统提供的默认混淆规则:
- #混淆时不生成大小写混合的类名
- -dontusemixedcaseclassnames
- #不跳过非公共的库的类
- -dontskipnonpubliclibraryclasses
- #混淆过程中记录日志
- -verbose
- #关闭预校验
- -dontpreverify
- #关闭优化
- -dontoptimize
- #保留注解
- -keepattributes *Annotation*
- #保留所有拥有本地方法的类名及本地方法名
- -keepclasseswithmembernames class * {
- native <methods>;
- }
- #保留自定义View的get和set方法
- -keepclassmembers public class * extends android.view.View {
- void set*(***);
- *** get*();
- }
- #保留Activity中View及其子类入参的方法,如: onClick(android.view.View)
- -keepclassmembers class * extends android.app.Activity {
- public void *(android.view.View);
- }
- #保留枚举
- -keepclassmembers enum * {
- **[] $VALUES;
- public *;
- }
- #保留序列化的类
- -keepclassmembers class * implements android.os.Parcelable {
- public static final android.os.Parcelable$Creator CREATOR;
- }
- #保留R文件的静态成员
- -keepclassmembers class **.R$* {
- public static <fields>;
- }
- -dontwarn android.support.**
- -keep class android.support.annotation.Keep
- -keep @android.support.annotation.Keep class * {*;}
- -keepclasseswithmembers class * {
- @android.support.annotation.Keep <methods>;
- }
- -keepclasseswithmembers class * {
- @android.support.annotation.Keep <fields>;
- }
- -keepclasseswithmembers class * {
- @android.support.annotation.Keep <init>(...);
- }
混淆"黑名单" (编辑:西安站长网)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|