本篇文章主要介绍了Android 三方库混淆规则,分享给大家,具体如下:

基本指令

-optimizationpasses 5-dontusemixedcaseclassnames-dontskipnonpubliclibraryclasses-ignorewarnings-dontpreverify-verbose-printmapping proguardMapping.txt-optimizations !code/simplification/cast,!field/*,!class/merging/*-keepattributes *Annotation*,InnerClasses-keepattributes Signature-renamesourcefileattribute SourceFile-keepattributes SourceFile,LineNumberTable

Android相关组件

-keep public class * extends android.support.v7.app.AppCompatActivity-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.content.ContentProvider-keep public class * extends android.app.backup.BackupAgentHelper-keep public class * extends android.preference.Preference-keep public class * extends android.view.View-keep public class com.android.vending.licensing.ILicensingService-keep class android.support.** {*;}-keepclasseswithmembernames class * {  native ;}-keepclassmembers class * extends android.support.v7.app.AppCompatActivity{  public void *(android.view.View);}-keepclassmembers enum * { *; }-keep public class * extends android.view.View{  *** get*();  void set*(***);  public (android.content.Context);  public (android.content.Context, android.util.AttributeSet);  public (android.content.Context, android.util.AttributeSet, int);}-keepclasseswithmembers class * {  public (android.content.Context, android.util.AttributeSet);  public (android.content.Context, android.util.AttributeSet, int);}-keep class * implements android.os.Parcelable { public static final android.os.Parcelable$Creator *;}-keepclassmembers class * implements java.io.Serializable {  static final long serialVersionUID;  private static final java.io.ObjectStreamField[] serialPersistentFields;  private void writeObject(java.io.ObjectOutputStream);  private void readObject(java.io.ObjectInputStream);  java.lang.Object writeReplace();  java.lang.Object readResolve();}-keep class **.R$* { *;}-keepclassmembers class * {  void *(**On*Event);}

WebView

-keepclassmembers class fqcn.of.javascript.interface.for.Webview {  public *;}-keepclassmembers class * extends android.webkit.WebViewClient {  public void *(android.webkit.WebView, java.lang.String, android.graphics.Bitmap);  public boolean *(android.webkit.WebView, java.lang.String);}-keepclassmembers class * extends android.webkit.WebViewClient {  public void *(android.webkit.WebView, jav.lang.String);}

友盟统计

-keep class com.umeng.** {*;}-keepclassmembers class * {  public  (org.json.JSONObject);}-keepclassmembers enum * {  public static **[] values();  public static ** valueOf(java.lang.String);}-keep public class [您的应用包名].R$*{public static final int *;}

微信

-keep class com.tencent.mm.opensdk.** { *; }-keep class com.tencent.wxop.** { *; }-keep class com.tencent.mm.sdk.** { *; }

Glide

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

极光

-dontoptimize-dontpreverify-dontwarn cn.jpush.**-keep class cn.jpush.** { *; }-keep class * extends cn.jpush.android.helpers.JPushMessageReceiver { *; }-dontwarn cn.jiguang.**-keep class cn.jiguang.** { *; }

okio

-dontwarn okio.**-keep class okio.**{*;}-keep interface okio.**{*;}

OkHttp3

-dontwarn okhttp3.**-keep class okhttp3.**{*;}-keep interface okhttp3.**{*;}

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

Gson

-keep class com.google.gson.stream.** { *; }

Retrofit

-dontwarn retrofit2.**-keep class retrofit2.** { *; }-keep public class * extends retrofit2.Converter {*;}

GreenDao

-keepclassmembers class * extends org.greenrobot.greendao.AbstractDao {public static java.lang.String TABLENAME;}-keep class **$Properties# If you do not use SQLCipher:-dontwarn org.greenrobot.greendao.database.**# If you do not use Rx:-dontwarn rx.**

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

更多相关文章

  1. android需要的访问权限(不断更新,希望大家多交流)
  2. Android代码混淆只需简单三步
  3. 极光推送3分集成干货--Android
  4. 关于Android(安卓)studio混淆遇到的问题
  5. Android(安卓)Studio多渠道批量打包及代码混淆
  6. 【转】Android(安卓)多渠道打包:使用Gradle和Android(安卓)Studio
  7. 【demo记录】极光推送(android app访问服务器,服务器推送信息到新a
  8. ANDROID应用程序的混淆打包
  9. android 混淆 去除第三方jar

随机推荐

  1. android dexposed框架hook使用实例
  2. Android Market 多APK 包支持
  3. Android 的反编译
  4. 深入了解Handler的消息传递机制
  5. Android 图片拖动 放大
  6. 【Android源码】Android(安卓)UI 之一步
  7. 杞細 The System Server in Android
  8. Android 调用联系人列表,选择联系人
  9. android仿QQ登录界面
  10. android全局Toast