| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106 |
- # Add project specific ProGuard rules here.
- # You can control the set of applied configuration files using the
- # proguardFiles setting in build.gradle.
- #
- # For more details, see
- # http://developer.android.com/guide/developing/tools/proguard.html
- # 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 *;
- #}
- # Uncomment this to preserve the line number information for
- # debugging stack traces.
- #-keepattributes SourceFile,LineNumberTable
- # If you keep the line number information, uncomment this to
- # hide the original source file name.
- #-renamesourcefileattribute SourceFile
- -keep public class * extends android.app.Activity #所有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.content.ContentProvider
- -keep public class * extends android.app.backup.BackupAgentHelper
- -keep public class * extends android.preference.Preference
- -keepclasseswithmembernames class * {
- native <methods>; #保持 native 的方法不去混淆
- }
- -keepclasseswithmembers class * {
- public <init>(android.content.Context, android.util.AttributeSet); #保持自定义控件类不被混淆,指定格式的构造方法不去混淆
- }
- -keep public class * extends android.view.View { #保持自定义控件指定规则的方法不被混淆
- public <init>(android.content.Context);
- public <init>(android.content.Context, android.util.AttributeSet);
- public <init>(android.content.Context, android.util.AttributeSet, int);
- public void set*(...);
- }
- -keep class * implements android.os.Parcelable { #保持 Parcelable 不被混淆(aidl文件不能去混淆)
- public static final android.os.Parcelable$Creator *;
- }
- -keepnames class * implements java.io.Serializable #需要序列化和反序列化的类不能被混淆(注:Java反射用到的类也不能被混淆)
- -keepattributes *Annotation* #假如项目中有用到注解,应加入这行配置
- -keepattributes Signature #过滤泛型(不写可能会出现类型转换错误,一般情况把这个加上就是了)
- ##################################################################
- # 下面都是项目中引入的第三方 jar 包。第三方 jar 包中的代码不是我们的目标和关心的对象,故而对此我们全部忽略不进行混淆。
- ##################################################################
- # okhttpUtils 的混淆
- #okhttputils
- -dontwarn com.zhy.http.**
- -keep class com.zhy.http.**{*;}
- #okhttp
- -dontwarn okhttp3.**
- -keep class okhttp3.**{*;}
- #okio
- -dontwarn okio.**
- -keep class okio.**{*;}
- -dontwarn com.google.auto.**
- -keep class com.google.auto.**{*;}
- -dontwarn com.google.common.**
- -keep class com.google.common.**{*;}
- -keep class com.alipay.android.app.IAlixPay{*;}
- -keep class com.alipay.android.app.IAlixPay$Stub{*;}
- -keep class com.alipay.android.app.IRemoteServiceCallback{*;}
- -keep class com.alipay.android.app.IRemoteServiceCallback$Stub{*;}
- -keep class com.alipay.sdk.app.PayTask{ public *;}
- -keep class com.alipay.sdk.app.AuthTask{ public *;}
- -keep class com.alipay.sdk.app.H5PayCallback {
- <fields>;
- <methods>;
- }
- -keep class com.alipay.android.phone.mrpc.core.** { *; }
- -keep class com.alipay.apmobilesecuritysdk.** { *; }
- -keep class com.alipay.mobile.framework.service.annotation.** { *; }
- -keep class com.alipay.mobilesecuritysdk.face.** { *; }
- -keep class com.alipay.tscenter.biz.rpc.** { *; }
- -keep class org.json.alipay.** { *; }
- -keep class com.alipay.tscenter.** { *; }
- -keep class com.ta.utdid2.** { *;}
- -keep class com.ut.device.** { *;}
- -keep class com.just.agentweb.** {
- *;
- }
- -dontwarn com.just.agentweb.**
- -keepclassmembers class com.just.agentweb.sample.common.AndroidInterface{ *; }
- -dontwarn com.tencent.bugly.**
- -keep public class com.tencent.bugly.**{*;}
- -keep class com.github.mikephil.charting.** { *; }
|