Android常用框架混淆代码

作者: 小池laucherish | 来源:发表于2016-03-28 11:16 被阅读10031次

    通常不需混淆的Android类

    -keep public class * extends android.app.Fragment
    -keep public class * extends android.app.Activity
    -keep public class * extends android.app.Application
    -keep public class * extends android.app.Service
    -keep public class * extends android.content.BroadcastReceiver
    -keep public class * extends android.preference.Preference
    -keep public class * extends android.content.ContentProvider
    -keep public class * extends android.support.v4.**
    -keep public class * extends android.support.annotation.**
    -keep public class * extends android.support.v7.**
    

    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;
    }
    

    Gson

    -keepattributes Signature-keepattributes *Annotation*
    -keep class sun.misc.Unsafe { *; }
    -keep class com.google.gson.stream.** { *; }
    # Application classes that will be serialized/deserialized over Gson 下面替换成自己的实体类
    -keep class com.example.bean.** { *; }
    

    OkHttp3

    -dontwarn com.squareup.okhttp3.**
    -keep class com.squareup.okhttp3.** { *;}
    -dontwarn okio.**
    

    Glide

    -keep public class * implements com.bumptech.glide.module.GlideModule
    -keep public enum com.bumptech.glide.load.resource.bitmap.ImageHeaderParser$** { 
      **[] $VALUES;
      public *;
    }
    

    友盟统计

    -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);
    }
    

    相关文章

      网友评论

      • 青菜0123:okhttp3改了
      • 大大大大大大的大大:ava.lang.IllegalArgumentException: Missing either @head URL or @URL parameter.
        for method a.b
        retrofit2.ServiceMethod$Builder.methodError(ServiceMethod.java:720)
        retrofit2.ServiceMethod$Builder.methodError(ServiceMethod.java:711)
        retrofit2.ServiceMethod$Builder.build(ServiceMethod.java:206)
        retrofit2.Retrofit.loadServiceMethod(Retrofit.java:166)
        retrofit2.Retrofit$1.invoke(Retrofit.java:145)
        java.lang.reflect.Proxy.invoke(Proxy.java:397)
        $Proxy1.b(Unknown Source)
        zlc.season.rxdownload2.function.b.f(DownloadHelper.java:324)
        zlc.season.rxdownload2.function.b.e(DownloadHelper.java:318)
        zlc.season.rxdownload2.function.b.a(DownloadHelper.java:158)
        zlc.season.rxdownload2.function.DownloadService$b.run(DownloadService.java:1306)
        java.lang.Thread.run(Thread.java:818)



        这是什么错
      • 进击的小熊猫:再加个 retrofit 就更好了
      • 三季人:谢谢拉,好多我都用上了呢

      本文标题:Android常用框架混淆代码

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