123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299 |
- # 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
- # 保持 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;
- !static !transient <fields>;
- private void writeObject(java.io.ObjectOutputStream);
- private void readObject(java.io.ObjectInputStream);
- java.lang.Object writeReplace();
- java.lang.Object readResolve();
- }
- # ARouter
- -keep public class com.alibaba.android.arouter.routes.**{*;}
- -keep public class com.alibaba.android.arouter.facade.**{*;}
- -keep class javax.lang.model.**{*;}
- -keep class * implements com.alibaba.android.arouter.facade.template.ISyringe{*;}
- -dontwarn javax.lang.model.**
- #Bugly
- -dontwarn com.tencent.bugly.**
- -keep public class com.tencent.bugly.**{*;}
- # ButterKnife
- -keep public class * implements butterknife.Unbinder {
- public <init>(**, android.view.View);
- }
- -keep class butterknife.*
- -keepclasseswithmembernames class * {
- @butterknife.* <methods>;
- }
- -keepclasseswithmembernames class * {
- @butterknife.* <fields>;
- }
- # Glide
- -keep public class * implements com.bumptech.glide.module.GlideModule
- -keep public enum com.bumptech.glide.load.resource.bitmap.ImageHeaderParser$** {
- **[] $VALUES;
- public *;
- }
- # 微信支付
- -dontwarn com.tencent.mm.**
- -dontwarn com.tencent.wxop.stat.**
- -keep class com.tencent.mm.** {*;}
- -keep class com.tencent.wxop.stat.**{*;}
- # 讯飞语音
- -dontwarn com.iflytek.**
- -keep class com.iflytek.** {*;}
- # 支付宝钱包
- -dontwarn com.alipay.**
- -dontwarn HttpUtils.HttpFetcher
- -dontwarn com.ta.utdid2.**
- -dontwarn com.ut.device.**
- -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.mobilesecuritysdk.*
- -keep class com.ut.*
- #UCrop
- -dontwarn com.yalantis.ucrop**
- -keep class com.yalantis.ucrop** { *; }
- -keep interface com.yalantis.ucrop** { *; }
- #sqlcipher
- -keep class net.sqlcipher.** {*;}
- -keep class net.sqlcipher.database.** {*;}
- #zxing
- -keep class com.google.zxing.** {*;}
- -dontwarn com.google.zxing.**
- #okhttputils
- -dontwarn com.zhy.http.**
- -keep class com.zhy.http.**{*;}
- ##okhttp
- #-dontwarn okhttp3.**
- # OkHttp
- -dontwarn okio.**
- -dontwarn okhttp3.**
- -keep class okhttp3.**{*;}
- -dontwarn javax.annotation.Nullable
- -dontwarn javax.annotation.ParametersAreNonnullByDefault
- #okio
- -dontwarn okio.**
- -keep class okio.**{*;}
- -dontwarn retrofit2.**
- -dontwarn org.codehaus.mojo.**
- -keep class retrofit2.** { *; }
- -keepattributes Signature
- -keepattributes Exceptions
- -keepattributes *Annotation*
- -keepattributes RuntimeVisibleAnnotations
- -keepattributes RuntimeInvisibleAnnotations
- -keepattributes RuntimeVisibleParameterAnnotations
- -keepattributes RuntimeInvisibleParameterAnnotations
- -keepattributes EnclosingMethod
- -keepclasseswithmembers class * {@retrofit2.* <methods>;}
- -keepclasseswithmembers interface * {@retrofit2.* <methods>;}
- -keep class com.google.gson.reflect.** { *; }
- -keep public class * implements java.io.Serializable {*;}
- -keep public class * implements java.lang.Cloneable {*;}
- -keep class java.util.HashMap {*;}
- # 使用Gson时需要配置Gson的解析对象及变量都不混淆。不然Gson会找不到变量。
- # 将下面替换成自己的实体类
- -keep class cn.haliaeetus.bsbase.model.** { *; }
- -keep class cn.haliaeetus.bsbase.reviewmodel.** { *; }
- -keep class cn.haliaeetus.bs.model.** { *; }
- -keep class cn.haliaeetu.bsindex.model.** { *; }
- -keep class cn.haliaeetus.bsmine.model.** { *; }
- # RxJava RxAndroid
- -dontwarn sun.misc.**
- -dontwarn rx.**
- -dontwarn io.reactivex.**
- -keep class rx.**{*;}
- -keep class io.reactivex.**{*;}
- -dontwarn io.reactivex.internal.subscriptions.**
- -keep class io.reactivex.internal.subscriptions.**{*;}
- -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;
- }
- #qmui
- -dontwarn com.qmuiteam.**
- -dontnote com.qmuiteam.**
- -keep class com.qmuiteam.**{*;}
- #ApiFactory和自己写的&其它
- -dontwarn cn.haliaeetus.bsbase.http.api.**
- -dontnote cn.haliaeetus.bsbase.http.api.**
- -keep class cn.haliaeetus.bsbase.http.api.**{*;}
- -dontwarn cn.haliaeetus.bsbase.weight.**
- -keep class cn.haliaeetus.bsbase.weight.**{*;}
- -dontwarn cn.haliaeetus.bsexcel.**
- -keep class cn.haliaeetus.bsexcel.**{*;}
- -dontwarn android.databinding.**
- -keep class android.databinding.**{*;}
- -dontwarn com.airbnb.lottie.**
- -keep class com.airbnb.lottie.**{*;}
- -dontwarn android.databinding.**
- -keep class android.databinding.**{*;}
- -dontwarn org.jdom.**
- -keep class org.jdom.**{*;}
- -dontwarn org.apache.log4j.**
- -keep class org.apache.log4j.**{*;}
- -dontwarn jxl.**
- -keep class jxl.**{*;}
- -keep class cn.haliaeetus.bsbase.utils.LogUtils
- -keep class cn.haliaeetus.bsbase.utils.JsonUtils
- -dontwarn com.unionpay.**
- -keep class com.unionpay.**{*;}
- -dontwarn com.google.android.**
- -keep class com.google.android.**{*;}
- #
- #-dontwarn jxl.write.biff.**
- #-keep class jxl.write.biff.**{*;}
- #GifImagview
- #-dontwarn public class pl.droidsonroids.gif.GifTextureView{ *;}
- -keep public class pl.droidsonroids.gif.GifIOException{<init>(int, java.lang.String);}
- -keep class cn.haliaeetus.bsbase.http.api.** {*;}
- #tensorflow
- -keep class org.tensorflow.lite.**{*;}
- -dontwarn org.tensorflow.lite.**
- #Glide不能被混淆
- -keep public class * implements com.bumptech.glide.module.GlideModule
- -keep public enum com.bumptech.glide.load.resource.bitmap.ImageHeaderParser$** {
- **[] $VALUES;
- public *;
- }
- #ocr 混淆代码
- -keep class net.iqubic.** {*;}
- -dontwarn com.yanzhenjie.zbar.**
- -keep class com.yanzhenjie.zbar.**{*;}
- #抛出异常时保留代码行号
- -keepattributes SourceFile,LineNumberTable
- #强制使所有混淆失效
- #-dontobfuscate
- #-dontoptimize
- #友盟
- -keep class com.umeng.** {*;}
- -keepclassmembers class * {
- public <init> (org.json.JSONObject);
- }
- -keepclassmembers enum * {
- public static **[] values();
- public static ** valueOf(java.lang.String);
- }
- #百度语音合成
- -keep class com.baidu.tts.**{*;}
- -keep class com.baidu.speechsynthesizer.**{*;}
- #百度语音识别
- -keep class com.baidu.speech.**{*;}
- -keep class net.sourceforge.zbar.ImageScanner { *; }
- -keep class net.sourceforge.zbar.Image { *; }
- -keep class net.sourceforge.zbar.SymbolSet { *; }
- -keep class net.sourceforge.zbar.Symbol { *; }
- #极光推送
- -dontoptimize
- -dontpreverify
- -dontwarn cn.jpush.**
- -keep class cn.jpush.** { *; }
- -keep class * extends cn.jpush.android.helpers.JPushMessageReceiver { *; }
- -dontwarn cn.jiguang.**
- -keep class cn.jiguang.** { *; }
- -dontwarn com.google.**
- -keep class com.google.gson.** {*;}
- -keep class com.google.protobuf.** {*;}
- #PDF
- -keep class com.shockwave.**
|