|
|
@@ -1,311 +1,298 @@
|
|
|
# Add project specific ProGuard rules here.
|
|
|
- # By default, the flags in this file are appended to flags specified
|
|
|
- # in D:\SDK/tools/proguard/proguard-android.txt
|
|
|
- # You can edit the include path and order by changing the proguardFiles
|
|
|
- # directive in build.gradle.
|
|
|
- #
|
|
|
- # For more details, see
|
|
|
- # http://developer.android.com/guide/developing/tools/proguard.html
|
|
|
-
|
|
|
- # Add any project specific keep options here:
|
|
|
-
|
|
|
- # If your project uses WebView with JS, uncomment the following
|
|
|
- # and specify the fully qualified class name to the JavaScript interface
|
|
|
- # class:
|
|
|
- #-keepclassmembers class fqcn.of.javascript.interface.for.webview {
|
|
|
- # public *;
|
|
|
- #}
|
|
|
- #---------------------------------基本指令区----------------------------------
|
|
|
- -ignorewarnings
|
|
|
- -dontusemixedcaseclassnames # 是否使用大小写混合
|
|
|
- -dontpreverify # 混淆时是否做预校验
|
|
|
- -verbose # 混淆时是否记录日志
|
|
|
- -printmapping proguardMapping.txt
|
|
|
- -optimizationpasses 5 # 指定代码的压缩级别
|
|
|
- -dontskipnonpubliclibraryclassmembers
|
|
|
-
|
|
|
-
|
|
|
- -optimizations !code/simplification/arithmetic,!field/*,!class/merging/*
|
|
|
- -keepattributes *Annotation*,InnerClasses
|
|
|
- -keepattributes Signature # 避免混淆泛型
|
|
|
- -keepattributes EnclosingMethod
|
|
|
- -keepattributes SourceFile,LineNumberTable #运行抛出异常时保留代码行号
|
|
|
- -keepattributes Exceptions # 解决AGPBI警告
|
|
|
-
|
|
|
- #继承自activity,application,service,broadcastReceiver,contentprovider....不进行混淆
|
|
|
- -keep public class * extends android.app.Activity
|
|
|
- -keep public class * extends android.app.Application
|
|
|
- -keep public class * extends android.support.multidex.MultiDexApplication
|
|
|
- -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.** {*;}
|
|
|
-
|
|
|
- # 所有View的子类及其子类的get、set方法都不进行混淆
|
|
|
- -keep public class * extends android.view.View{
|
|
|
- *** get*();
|
|
|
- void set*(***);
|
|
|
- public <init>(android.content.Context);
|
|
|
- public <init>(android.content.Context, android.util.AttributeSet);
|
|
|
- public <init>(android.content.Context, android.util.AttributeSet, int);
|
|
|
- }
|
|
|
-
|
|
|
- -keepclasseswithmembers class * {
|
|
|
- public <init>(android.content.Context, android.util.AttributeSet);
|
|
|
- public <init>(android.content.Context, android.util.AttributeSet, int);
|
|
|
- }
|
|
|
-
|
|
|
- # 这个主要是在layout 中写的onclick方法android:onclick="onClick",不进行混淆
|
|
|
- -keepclassmembers class * extends android.app.Activity {
|
|
|
- public void *(android.view.View);
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- # 对于带有回调函数onXXEvent的,不能被混淆
|
|
|
- -keepclassmembers class * {
|
|
|
- void *(*Event);
|
|
|
- }
|
|
|
-
|
|
|
- # 枚举类不能被混淆
|
|
|
- -keepclassmembers enum * {
|
|
|
- public static **[] values();
|
|
|
- public static ** valueOf(java.lang.String);
|
|
|
- }
|
|
|
-
|
|
|
- # natvie 方法不混淆
|
|
|
- -keepclasseswithmembernames class * {
|
|
|
- native <methods>;
|
|
|
- }
|
|
|
- #litepal数据库不能被混淆
|
|
|
- -keep class org.litepal.** {
|
|
|
- *;
|
|
|
- }
|
|
|
- -keep class * extends org.litepal.crud.DataSupport {
|
|
|
- *;
|
|
|
- }
|
|
|
-
|
|
|
- #Glide不能被混淆
|
|
|
- -keep public class * implements com.bumptech.glide.module.GlideModule
|
|
|
- -keep public enum com.bumptech.glide.load.resource.bitmap.ImageHeaderParser$** {
|
|
|
- **[] $VALUES;
|
|
|
+# By default, the flags in this file are appended to flags specified
|
|
|
+# in D:\SDK/tools/proguard/proguard-android.txt
|
|
|
+# You can edit the include path and order by changing the proguardFiles
|
|
|
+# directive in build.gradle.
|
|
|
+#
|
|
|
+# For more details, see
|
|
|
+# http://developer.android.com/guide/developing/tools/proguard.html
|
|
|
+
|
|
|
+# Add any project specific keep options here:
|
|
|
+
|
|
|
+# If your project uses WebView with JS, uncomment the following
|
|
|
+# and specify the fully qualified class name to the JavaScript interface
|
|
|
+# class:
|
|
|
+#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
|
|
|
+# public *;
|
|
|
+#}
|
|
|
+#---------------------------------基本指令区----------------------------------
|
|
|
+-ignorewarnings
|
|
|
+-dontusemixedcaseclassnames # 是否使用大小写混合
|
|
|
+-dontpreverify # 混淆时是否做预校验
|
|
|
+-verbose # 混淆时是否记录日志
|
|
|
+-printmapping proguardMapping.txt
|
|
|
+-optimizationpasses 5 # 指定代码的压缩级别
|
|
|
+-dontskipnonpubliclibraryclassmembers
|
|
|
+
|
|
|
+
|
|
|
+-optimizations !code/simplification/arithmetic,!field/*,!class/merging/*
|
|
|
+-keepattributes *Annotation*,InnerClasses
|
|
|
+-keepattributes Signature # 避免混淆泛型
|
|
|
+-keepattributes EnclosingMethod
|
|
|
+-keepattributes SourceFile,LineNumberTable #运行抛出异常时保留代码行号
|
|
|
+-keepattributes Exceptions # 解决AGPBI警告
|
|
|
+
|
|
|
+#继承自activity,application,service,broadcastReceiver,contentprovider....不进行混淆
|
|
|
+-keep public class * extends android.app.Activity
|
|
|
+-keep public class * extends android.app.Application
|
|
|
+-keep public class * extends android.support.multidex.MultiDexApplication
|
|
|
+-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.** {*;}
|
|
|
+
|
|
|
+# 所有View的子类及其子类的get、set方法都不进行混淆
|
|
|
+-keep public class * extends android.view.View{
|
|
|
+ *** get*();
|
|
|
+ void set*(***);
|
|
|
+ public <init>(android.content.Context);
|
|
|
+ public <init>(android.content.Context, android.util.AttributeSet);
|
|
|
+ public <init>(android.content.Context, android.util.AttributeSet, int);
|
|
|
+}
|
|
|
+
|
|
|
+# 这个主要是在layout 中写的onclick方法android:onclick="onClick",不进行混淆
|
|
|
+-keepclassmembers class * extends android.app.Activity {
|
|
|
+ public void *(android.view.View);
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+# 对于带有回调函数onXXEvent的,不能被混淆
|
|
|
+-keepclassmembers class * {
|
|
|
+ void *(*Event);
|
|
|
+}
|
|
|
+
|
|
|
+# 枚举类不能被混淆
|
|
|
+-keepclassmembers enum * {
|
|
|
+ public static **[] values();
|
|
|
+ public static ** valueOf(java.lang.String);
|
|
|
+}
|
|
|
+
|
|
|
+# natvie 方法不混淆
|
|
|
+-keepclasseswithmembernames class * {
|
|
|
+ native <methods>;
|
|
|
+}
|
|
|
+
|
|
|
+# 保持 Parcelable 不被混淆
|
|
|
+-keep class * implements android.os.Parcelable {
|
|
|
+ public static final android.os.Parcelable$Creator *;
|
|
|
+}
|
|
|
+
|
|
|
+#不混淆Serializable接口的子类中指定的某些成员变量和方法
|
|
|
+-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();
|
|
|
+}
|
|
|
+
|
|
|
+# 不混淆R类里及其所有内部static类中的所有static变量字段
|
|
|
+-keep public class com.guiying.androidmodulepattern.R$*{
|
|
|
+ public static final int *;
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+-keepclassmembers class * {
|
|
|
+ public <init> (org.json.JSONObject);
|
|
|
+}
|
|
|
+
|
|
|
+#---------------------------------webview------------------------------------
|
|
|
+-keepclassmembers class fqcn.of.javascript.interface.for.webview {
|
|
|
public *;
|
|
|
- }
|
|
|
-
|
|
|
- # 保持 Parcelable 不被混淆
|
|
|
- -keep class * implements android.os.Parcelable {
|
|
|
- public static final android.os.Parcelable$Creator *;
|
|
|
- }
|
|
|
-
|
|
|
- #不混淆Serializable接口的子类中指定的某些成员变量和方法
|
|
|
- -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();
|
|
|
- }
|
|
|
-
|
|
|
- # 不混淆R类里及其所有内部static类中的所有static变量字段
|
|
|
- -keep public class com.guiying.androidmodulepattern.R$*{
|
|
|
- public static final int *;
|
|
|
- }
|
|
|
-
|
|
|
- # $是用来分割内嵌类与其母体的标志
|
|
|
- -keep class **.R$* {
|
|
|
- *;
|
|
|
- }
|
|
|
+}
|
|
|
+-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 * {
|
|
|
- public <init> (org.json.JSONObject);
|
|
|
- }
|
|
|
-
|
|
|
- #---------------------------------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);
|
|
|
- }
|
|
|
|
|
|
-#---------------------------------实体类---------------------------------
|
|
|
+#---------------------------------第三方包-------------------------------
|
|
|
+#litepal数据库不能被混淆
|
|
|
+-keep class org.litepal.** {*;}
|
|
|
+-keep class * extends org.litepal.crud.DataSupport {*;}
|
|
|
|
|
|
+#Glide不能被混淆
|
|
|
+-keep public class * implements com.bumptech.glide.module.GlideModule
|
|
|
+-keep public enum com.bumptech.glide.load.resource.bitmap.ImageHeaderParser$** {
|
|
|
+ **[] $VALUES;
|
|
|
+ public *;
|
|
|
+}
|
|
|
|
|
|
|
|
|
- #---------------------------------第三方包-------------------------------
|
|
|
#activityrouter
|
|
|
-keep class com.github.mzule.activityrouter.router.** { *; }
|
|
|
|
|
|
- #友盟统计
|
|
|
- -keep class com.umeng.analytics.** {*;}
|
|
|
- -dontwarn com.umeng.analytics.**
|
|
|
-
|
|
|
-
|
|
|
- #换肤框架的混淆文件
|
|
|
- -keep class solid.ren.skinlibrary.** {*;}
|
|
|
- -dontwarn solid.ren.skinlibrary.**
|
|
|
-
|
|
|
- #高德相关混淆文件
|
|
|
- #3D 地图
|
|
|
- -keep class com.amap.api.** {*;}
|
|
|
- -keep class com.autonavi.** {*;}
|
|
|
- -keep class com.a.a.** {*;}
|
|
|
- -keep class com.loc.** {*;}
|
|
|
- -dontwarn com.amap.api.**
|
|
|
- -dontwarn com.autonavi.**
|
|
|
- -dontwarn com.a.a.**
|
|
|
- -dontwarn com.loc.**
|
|
|
-
|
|
|
-
|
|
|
- # simple-xml-core的SDK
|
|
|
- -keep class org.simpleframework.xml.** {*;}
|
|
|
- -dontwarn org.simpleframework.xml.**
|
|
|
-
|
|
|
- # acra的 SDK
|
|
|
- -keep class org.acra.** {*;}
|
|
|
- -dontwarn org.acra.**
|
|
|
-
|
|
|
- # 网络请求库async-http
|
|
|
- -keep class com.loopj.android.http.** {*;}
|
|
|
- -dontwarn com.loopj.android.http.**
|
|
|
-
|
|
|
-
|
|
|
- #pinyin4j
|
|
|
- -dontwarn net.soureceforge.pinyin4j.**
|
|
|
- -dontwarn demo.**
|
|
|
- -keep class net.sourceforge.pinyin4j.** { *;}
|
|
|
- -keep class demo.** { *;}
|
|
|
- -keep class com.hp.** { *;}
|
|
|
-
|
|
|
- #httpclient (org.apache.http.legacy.jar)
|
|
|
- -dontwarn android.net.compatibility.**
|
|
|
- -dontwarn android.net.http.**
|
|
|
- -dontwarn com.android.internal.http.multipart.**
|
|
|
- -dontwarn org.apache.commons.**
|
|
|
- -dontwarn org.apache.http.**
|
|
|
- -dontwarn org.apache.http.protocol.**
|
|
|
- -keep class android.net.compatibility.**{*;}
|
|
|
- -keep class android.net.http.**{*;}
|
|
|
- -keep class com.android.internal.http.multipart.**{*;}
|
|
|
- -keep class org.apache.commons.**{*;}
|
|
|
- -keep class org.apache.org.**{*;}
|
|
|
- -keep class org.apache.harmony.**{*;}
|
|
|
-
|
|
|
- #图表库
|
|
|
- -keep class com.github.mikephil.charting.** {*;}
|
|
|
- -dontwarn com.github.mikephil.charting.**
|
|
|
-
|
|
|
- # 讯飞语音
|
|
|
- -keep class com.chinaMobile.** {*;}
|
|
|
- -keep class com.iflytek.** {*;}
|
|
|
- -keep class com.iflytek.sunflower.** {*;}
|
|
|
- -dontwarn com.iflytek.sunflower.**
|
|
|
- -dontwarn com.chinaMobile.**
|
|
|
- -dontwarn com.iflytek.**
|
|
|
-
|
|
|
- # greenDao混淆
|
|
|
- -keep class de.greenrobot.dao.** {*;}
|
|
|
- -keepclassmembers class * extends de.greenrobot.dao.AbstractDao {
|
|
|
- public static Java.lang.String TABLENAME;
|
|
|
- }
|
|
|
- -keep class **$Properties
|
|
|
-
|
|
|
- # gson
|
|
|
- -keep class com.google.gson.** {*;}
|
|
|
- -keep class com.google.**{*;}
|
|
|
- -keep class sun.misc.Unsafe { *; }
|
|
|
- -keep class com.google.gson.stream.** { *; }
|
|
|
- -keep class com.google.gson.examples.android.model.** { *; }
|
|
|
-
|
|
|
- # zxing
|
|
|
- -keep class com.google.zxing.** {*;}
|
|
|
- -dontwarn com.google.zxing.**
|
|
|
-
|
|
|
- ##百度定位
|
|
|
- -keep class com.baidu.** {*;}
|
|
|
- -keep class vi.com.** {*;}
|
|
|
- -dontwarn com.baidu.**
|
|
|
-
|
|
|
- ## okhttp
|
|
|
- -dontwarn com.squareup.okhttp.**
|
|
|
- -keep class com.squareup.okhttp.{*;}
|
|
|
-
|
|
|
- #okhttp3.x
|
|
|
- -dontwarn com.squareup.okhttp3.**
|
|
|
- -keep class com.squareup.okhttp3.** { *;}
|
|
|
- -dontwarn okio.**
|
|
|
-
|
|
|
- #retrofit
|
|
|
- -dontwarn retrofit.**
|
|
|
- -keep class retrofit.** { *; }
|
|
|
- -keepattributes Signature
|
|
|
- -keepattributes Exceptions
|
|
|
- -dontwarn okio.**
|
|
|
-
|
|
|
-
|
|
|
- #recyclerview-animators
|
|
|
- -keep class jp.wasabeef.** {*;}
|
|
|
- -dontwarn jp.wasabeef.*
|
|
|
-
|
|
|
- #multistateview
|
|
|
- -keep class com.kennyc.view.** { *; }
|
|
|
- -dontwarn com.kennyc.view.*
|
|
|
-
|
|
|
- # universal-image-loader 混淆
|
|
|
- -dontwarn com.nostra13.universalimageloader.**
|
|
|
- -keep class com.nostra13.universalimageloader.** { *; }
|
|
|
-
|
|
|
-
|
|
|
- #-ButterKnife 7.0
|
|
|
- -keep class butterknife.** { *; }
|
|
|
- -dontwarn butterknife.internal.**
|
|
|
- -keep class **$$ViewBinder { *; }
|
|
|
- -keepclasseswithmembernames class * {
|
|
|
- @butterknife.* <fields>;
|
|
|
- }
|
|
|
- -keepclasseswithmembernames class * {
|
|
|
- @butterknife.* <methods>;
|
|
|
- }
|
|
|
-
|
|
|
- #eventbus 3.0
|
|
|
- -keepattributes *Annotation*
|
|
|
- -keepclassmembers class ** {
|
|
|
- @org.greenrobot.eventbus.Subscribe <methods>;
|
|
|
- }
|
|
|
- -keep enum org.greenrobot.eventbus.ThreadMode { *; }
|
|
|
- -keepclassmembers class * extends org.greenrobot.eventbus.util.ThrowableFailureEvent {
|
|
|
- <init>(java.lang.Throwable);
|
|
|
- }
|
|
|
-
|
|
|
- #EventBus
|
|
|
- -keepclassmembers class ** {
|
|
|
- public void onEvent*(**);
|
|
|
+#友盟统计
|
|
|
+-keep class com.umeng.analytics.** {*;}
|
|
|
+-dontwarn com.umeng.analytics.**
|
|
|
+
|
|
|
+
|
|
|
+#换肤框架的混淆文件
|
|
|
+-keep class solid.ren.skinlibrary.** {*;}
|
|
|
+-dontwarn solid.ren.skinlibrary.**
|
|
|
+
|
|
|
+#高德相关混淆文件
|
|
|
+#3D 地图
|
|
|
+-keep class com.amap.api.** {*;}
|
|
|
+-keep class com.autonavi.** {*;}
|
|
|
+-keep class com.a.a.** {*;}
|
|
|
+-keep class com.loc.** {*;}
|
|
|
+-dontwarn com.amap.api.**
|
|
|
+-dontwarn com.autonavi.**
|
|
|
+-dontwarn com.a.a.**
|
|
|
+-dontwarn com.loc.**
|
|
|
+
|
|
|
+
|
|
|
+# simple-xml-core的SDK
|
|
|
+-keep class org.simpleframework.xml.** {*;}
|
|
|
+-dontwarn org.simpleframework.xml.**
|
|
|
+
|
|
|
+# acra的 SDK
|
|
|
+-keep class org.acra.** {*;}
|
|
|
+-dontwarn org.acra.**
|
|
|
+
|
|
|
+# 网络请求库async-http
|
|
|
+-keep class com.loopj.android.http.** {*;}
|
|
|
+-dontwarn com.loopj.android.http.**
|
|
|
+
|
|
|
+
|
|
|
+#pinyin4j
|
|
|
+-dontwarn net.soureceforge.pinyin4j.**
|
|
|
+-dontwarn demo.**
|
|
|
+-keep class net.sourceforge.pinyin4j.** { *;}
|
|
|
+-keep class demo.** { *;}
|
|
|
+-keep class com.hp.** { *;}
|
|
|
+
|
|
|
+#httpclient (org.apache.http.legacy.jar)
|
|
|
+-dontwarn android.net.compatibility.**
|
|
|
+-dontwarn android.net.http.**
|
|
|
+-dontwarn com.android.internal.http.multipart.**
|
|
|
+-dontwarn org.apache.commons.**
|
|
|
+-dontwarn org.apache.http.**
|
|
|
+-dontwarn org.apache.http.protocol.**
|
|
|
+-keep class android.net.compatibility.**{*;}
|
|
|
+-keep class android.net.http.**{*;}
|
|
|
+-keep class com.android.internal.http.multipart.**{*;}
|
|
|
+-keep class org.apache.commons.**{*;}
|
|
|
+-keep class org.apache.org.**{*;}
|
|
|
+-keep class org.apache.harmony.**{*;}
|
|
|
+
|
|
|
+#图表库
|
|
|
+-keep class com.github.mikephil.charting.** {*;}
|
|
|
+-dontwarn com.github.mikephil.charting.**
|
|
|
+
|
|
|
+# 讯飞语音
|
|
|
+-keep class com.chinaMobile.** {*;}
|
|
|
+-keep class com.iflytek.** {*;}
|
|
|
+-keep class com.iflytek.sunflower.** {*;}
|
|
|
+-dontwarn com.iflytek.sunflower.**
|
|
|
+-dontwarn com.chinaMobile.**
|
|
|
+-dontwarn com.iflytek.**
|
|
|
+
|
|
|
+# greenDao混淆
|
|
|
+-keep class de.greenrobot.dao.** {*;}
|
|
|
+-keepclassmembers class * extends de.greenrobot.dao.AbstractDao {
|
|
|
+ public static Java.lang.String TABLENAME;
|
|
|
+}
|
|
|
+-keep class **$Properties
|
|
|
+
|
|
|
+# gson
|
|
|
+-keep class com.google.gson.** {*;}
|
|
|
+-keep class com.google.**{*;}
|
|
|
+-keep class sun.misc.Unsafe { *; }
|
|
|
+-keep class com.google.gson.stream.** { *; }
|
|
|
+-keep class com.google.gson.examples.android.model.** { *; }
|
|
|
+
|
|
|
+# zxing
|
|
|
+-keep class com.google.zxing.** {*;}
|
|
|
+-dontwarn com.google.zxing.**
|
|
|
+
|
|
|
+##百度定位
|
|
|
+-keep class com.baidu.** {*;}
|
|
|
+-keep class vi.com.** {*;}
|
|
|
+-dontwarn com.baidu.**
|
|
|
+
|
|
|
+## okhttp
|
|
|
+-dontwarn com.squareup.okhttp.**
|
|
|
+-keep class com.squareup.okhttp.{*;}
|
|
|
+
|
|
|
+#okhttp3.x
|
|
|
+-dontwarn com.squareup.okhttp3.**
|
|
|
+-keep class com.squareup.okhttp3.** { *;}
|
|
|
+-dontwarn okio.**
|
|
|
+
|
|
|
+#retrofit
|
|
|
+-dontwarn retrofit.**
|
|
|
+-keep class retrofit.** { *; }
|
|
|
+-keepattributes Signature
|
|
|
+-keepattributes Exceptions
|
|
|
+-dontwarn okio.**
|
|
|
+
|
|
|
+
|
|
|
+#recyclerview-animators
|
|
|
+-keep class jp.wasabeef.** {*;}
|
|
|
+-dontwarn jp.wasabeef.*
|
|
|
+
|
|
|
+#multistateview
|
|
|
+-keep class com.kennyc.view.** { *; }
|
|
|
+-dontwarn com.kennyc.view.*
|
|
|
+
|
|
|
+# universal-image-loader 混淆
|
|
|
+-dontwarn com.nostra13.universalimageloader.**
|
|
|
+-keep class com.nostra13.universalimageloader.** { *; }
|
|
|
+
|
|
|
+
|
|
|
+#-ButterKnife 7.0
|
|
|
+ -keep class butterknife.** { *; }
|
|
|
+ -dontwarn butterknife.internal.**
|
|
|
+ -keep class **$$ViewBinder { *; }
|
|
|
+ -keepclasseswithmembernames class * {
|
|
|
+ @butterknife.* <fields>;
|
|
|
}
|
|
|
- -keepclassmembers class ** {
|
|
|
- public void xxxxxx(**);
|
|
|
+ -keepclasseswithmembernames class * {
|
|
|
+ @butterknife.* <methods>;
|
|
|
}
|
|
|
|
|
|
- # support-v4
|
|
|
- -dontwarn android.support.v4.**
|
|
|
- -keep class android.support.v4.app.** { *; }
|
|
|
- -keep interface android.support.v4.app.** { *; }
|
|
|
- -keep class android.support.v4.** { *; }
|
|
|
-
|
|
|
-
|
|
|
- # support-v7
|
|
|
- -dontwarn android.support.v7.**
|
|
|
- -keep class android.support.v7.internal.** { *; }
|
|
|
- -keep interface android.support.v7.internal.** { *; }
|
|
|
- -keep class android.support.v7.** { *; }
|
|
|
-
|
|
|
- # support design
|
|
|
- -dontwarn android.support.design.**
|
|
|
- -keep class android.support.design.** { *; }
|
|
|
- -keep interface android.support.design.** { *; }
|
|
|
- -keep public class android.support.design.R$* { *; }
|
|
|
+#eventbus 3.0
|
|
|
+-keepattributes *Annotation*
|
|
|
+-keepclassmembers class ** {
|
|
|
+ @org.greenrobot.eventbus.Subscribe <methods>;
|
|
|
+}
|
|
|
+-keep enum org.greenrobot.eventbus.ThreadMode { *; }
|
|
|
+-keepclassmembers class * extends org.greenrobot.eventbus.util.ThrowableFailureEvent {
|
|
|
+ <init>(java.lang.Throwable);
|
|
|
+}
|
|
|
+
|
|
|
+#EventBus
|
|
|
+-keepclassmembers class ** {
|
|
|
+ public void onEvent*(**);
|
|
|
+}
|
|
|
+-keepclassmembers class ** {
|
|
|
+public void xxxxxx(**);
|
|
|
+}
|
|
|
+
|
|
|
+# support-v4
|
|
|
+-dontwarn android.support.v4.**
|
|
|
+-keep class android.support.v4.app.** { *; }
|
|
|
+-keep interface android.support.v4.app.** { *; }
|
|
|
+-keep class android.support.v4.** { *; }
|
|
|
+
|
|
|
+
|
|
|
+# support-v7
|
|
|
+-dontwarn android.support.v7.**
|
|
|
+-keep class android.support.v7.internal.** { *; }
|
|
|
+-keep interface android.support.v7.internal.** { *; }
|
|
|
+-keep class android.support.v7.** { *; }
|
|
|
+
|
|
|
+# support design
|
|
|
+-dontwarn android.support.design.**
|
|
|
+-keep class android.support.design.** { *; }
|
|
|
+-keep interface android.support.design.** { *; }
|
|
|
+-keep public class android.support.design.R$* { *; }
|