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