美文网首页
Android 第三方混淆参考规则

Android 第三方混淆参考规则

作者: Nebula995 | 来源:发表于2018-11-28 15:41 被阅读60次

    混淆规则大全

    混淆配置持续更新

    框架类
    Gson
    Butter Knife
    Retrofit
    Glide
    OkHttp3

    第三方SDK
    百度地图,百度地图导航
    百度自动更新
    360自动更新
    腾讯自动更新

    阿里OSS 客户端

    工具类
    PictureSelector 2.0 图片视频音频选择器

    # Gson
    
    -keepattributes Signature
    -keepattributes *Annotation*
    -dontwarn sun.misc.**
    #-keep class com.google.gson.stream.** { *; }
    -keep class com.google.gson.examples.android.model.** { *; }
    -keep class * implements com.google.gson.TypeAdapterFactory
    -keep class * implements com.google.gson.JsonSerializer
    -keep class * implements com.google.gson.JsonDeserializer
    ##---------------End: proguard configuration for Gson  ----------
    
    #Butter Knife
    -keep class butterknife.** { *; }
    -dontwarn butterknife.internal.**
    -keep class **$$ViewBinder { *; }
    -keepclasseswithmembernames class * {
        @butterknife.* <fields>;
    }
    -keepclasseswithmembernames class * {
        @butterknife.* <methods>;
    }
    
    #Retrofit
    -dontwarn retrofit2.**
    -keep class retrofit2.** { *; }
    -keepattributes Signature
    -keepattributes Exceptions
    
    #RxJava RxAndroid
    -dontwarn sun.misc.**
    -keepclassmembers class rx.internal.util.unsafe.*ArrayQueue*Field* {
       long producerIndex;
       long consumerIndex;
    }
    -keepclassmembers class rx.internal.util.unsafe.BaseLinkedQueueProducerNodeRef {
        rx.internal.util.atomic.LinkedQueueNode producerNode;
    }
    -keepclassmembers class rx.internal.util.unsafe.BaseLinkedQueueConsumerNodeRef {
        rx.internal.util.atomic.LinkedQueueNode consumerNode;
    }
     
    #Glide
    -keep public class * implements com.bumptech.glide.module.GlideModule
    -keep public enum com.bumptech.glide.load.resource.bitmap.ImageHeaderParser$** { 
      **[] $VALUES;
      public *;
    }
     
    # OkHttp3
    -dontwarn com.squareup.okhttp3.**
    -keep class com.squareup.okhttp3.** { *;}
    -dontwarn okio.**
    # JPUSH
    # 4.x以上
    -dontoptimize
    -dontpreverify
    
    -dontwarn cn.jpush.**
    -keep class cn.jpush.** { *; }
    -keep class * extends cn.jpush.android.helpers.JPushMessageReceiver { *; }
    
    -dontwarn cn.jiguang.**
    -keep class cn.jiguang.** { *; }
    #2.0.5 ~ 2.1.7 版本有引入 gson 和 protobuf,增加排除混淆的配置。(2.1.8 版本不需配置)
    #==================gson && protobuf==========================
    -dontwarn com.google.**
    -keep class com.google.gson.** {*;}
    -keep class com.google.protobuf.** {*;}
    
    
    # 百度
    
    #百度地图
    -keep class com.baidu.** {*;}
    -keep class mapsdkvi.com.** {*;}    
    -dontwarn com.baidu.**
    
    #百度导航SDK
    # BaiduNavi SDK
    -dontoptimize
    -ignorewarnings
    -keeppackagenames com.baidu.**
    -keepattributes Exceptions,InnerClasses,Signature,Deprecated,SourceFile,LineNumberTable,LocalVariable*Table,*Annotation*,Synthetic,EnclosingMethod
    
    -dontwarn com.baidu.**
    -dontwarn com.baidu.navisdk.**
    -dontwarn com.baidu.navi.**
    
    -keep class com.baidu.** { *; }
    -keep interface com.baidu.** { *; }
    
    -keep class vi.com.gdi.** { *; }
    
    -dontwarn com.google.protobuf.**
    -keep class com.google.protobuf.** { *;}
    -keep interface com.google.protobuf.** { *;}
    
    -dontwarn com.google.android.support.v4.**
    -keep class com.google.android.support.v4.** { *; }
    -keep interface com.google.android.support.v4.app.** { *; }
    -keep public class * extends com.google.android.support.v4.**
    -keep public class * extends com.google.android.support.v4.app.Fragment
    
    
    # 腾讯
    
    # 360
    
    # 友盟统计
    -keepclassmembers class * { 
      public <init> (org.json.JSONObject);
    }
    -keep public class [您的应用包名].R$*{
      public static final int *;
    }
    -keepclassmembers enum * {
      public static **[] values(); public static ** valueOf(java.lang.String);
    }
     
    
    # 阿里系列
    # OSS 混淆
    -keep class com.alibaba.sdk.android.oss.** { *; }
    -dontwarn okio.**
    -dontwarn org.apache.commons.codec.binary.**
    
    
    #三方组件
    #PictureSelector 2.0 start
    -keep class com.luck.picture.lib.** { *; }
    
    -dontwarn com.yalantis.ucrop**
    -keep class com.yalantis.ucrop** { *; }
    -keep interface com.yalantis.ucrop** { *; }
       
     #rxjava
    -dontwarn sun.misc.**
    -keepclassmembers class rx.internal.util.unsafe.*ArrayQueue*Field* {
     long producerIndex;
     long consumerIndex;
    }
    -keepclassmembers class rx.internal.util.unsafe.BaseLinkedQueueProducerNodeRef {
     rx.internal.util.atomic.LinkedQueueNode producerNode;
    }
    -keepclassmembers class rx.internal.util.unsafe.BaseLinkedQueueConsumerNodeRef {
     rx.internal.util.atomic.LinkedQueueNode consumerNode;
    }
    
    #rxandroid
    -dontwarn sun.misc.**
    -keepclassmembers class rx.internal.util.unsafe.*ArrayQueue*Field* {
       long producerIndex;
       long consumerIndex;
    }
    -keepclassmembers class rx.internal.util.unsafe.BaseLinkedQueueProducerNodeRef {
        rx.internal.util.atomic.LinkedQueueNode producerNode;
    }
    -keepclassmembers class rx.internal.util.unsafe.BaseLinkedQueueConsumerNodeRef {
        rx.internal.util.atomic.LinkedQueueNode consumerNode;
    }
    
    #glide
    -keep public class * implements com.bumptech.glide.module.GlideModule
    -keep public class * extends com.bumptech.glide.AppGlideModule
    -keep public enum com.bumptech.glide.load.resource.bitmap.ImageHeaderParser$** {
      **[] $VALUES;
      public *;
    }
    
    # for DexGuard only
    -keepresourcexmlelements manifest/application/meta-data@value=GlideModule
    #PictureSelector 2.0 end
    

    相关文章

      网友评论

          本文标题:Android 第三方混淆参考规则

          本文链接:https://www.haomeiwen.com/subject/ckqenttx.html