123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552 |
- # 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
- -ignorewarnings
- ## GSON 2.2.4 specific rules ##
- # Gson uses generic type information stored in a class file when working with fields. Proguard
- # removes such information by default, so configure it to keep all of it.
- -keepattributes Signature
- # For using GSON @Expose annotation
- -keepattributes *Annotation*
- -keepattributes EnclosingMethod
- # Gson specific classes
- -keep class sun.misc.Unsafe { *; }
- -keep class com.google.gson.stream.** { *; }
- -keep public class * implements com.bumptech.glide.module.GlideModule
- -keep public class * extends com.bumptech.glide.module.AppGlideModule
- -keep public enum com.bumptech.glide.load.ImageHeaderParser$** {
- **[] $VALUES;
- public *;
- }
- # Keep the support library
- -keep class android.support.** { *; }
- -keep interface android.support.** { *; }
- # Okio
- -keep class sun.misc.Unsafe { *; }
- -dontwarn java.nio.file.*
- -dontwarn org.codehaus.mojo.animal_sniffer.IgnoreJRERequirement
- -dontwarn okio.**
- -dontwarn okio.** -dontnote retrofit2.Platform -dontwarn retrofit2.Platform$Java8 -keepattributes Signature -keepattributes Exceptions -keep class com.myownpackage.models.** { *; }
- -dontwarn org.codehaus.mojo.animal_sniffer.IgnoreJRERequirement
- ########--------Retrofit + RxJava--------#########
- -dontwarn retrofit.**
- -keep class retrofit.** { *; }
- -dontwarn sun.misc.Unsafe
- -dontwarn com.octo.android.robospice.retrofit.RetrofitJackson**
- -dontwarn retrofit.appengine.UrlFetchClient
- -keepattributes Signature
- -keepattributes Exceptions
- -keepclasseswithmembers class * {
- @retrofit.http.* <methods>;
- }
- -keep class com.google.gson.** { *; }
- -keep class com.google.inject.** { *; }
- -keep class org.apache.http.** { *; }
- -keep class org.apache.james.mime4j.** { *; }
- -keep class javax.inject.** { *; }
- -keep class retrofit.** { *; }
- -dontwarn org.apache.http.**
- -dontwarn android.net.http.AndroidHttpClient
- -dontwarn retrofit.**
- -dontwarn sun.misc.**
- -keepclassmembers class rx.internal.util.unsafe.*ArrayQueue*Field* {
- long producerIndex;
- long consumerIndex;
- }
- -keepclassmembers class rx.internal.util.unsafe.BaseLinkedQueueProducerNodeRef {
- long producerNode;
- long consumerNode;
- }
- # ALSO REMEMBER KEEPING YOUR MODEL CLASSES
- -keep class * extends com.billy.cc.core.component.IComponent{*;}
- -keep interface * implements com.ysnows.base.ccretrofit.IRoute{*;}
- -keep class * implements com.ysnows.base.net.IResp{*;}
- -keep class * implements com.ysnows.base.inter.IModel{*;}
- #Retrofit
- -dontwarn retrofit2.**
- -keep class retrofit2.** { *; }
- -keepattributes Signature
- -keepattributes Exceptions
- -keepclasseswithmembers class * {
- @retrofit2.http.* <methods>;
- }
- #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;
- }
- -dontwarn java.lang.invoke.*
- -keep class sun.misc.Unsafe { *; }
- # OkHttp
- -keepattributes Signature
- -keepattributes *Annotation*
- -keep class okhttp3.** { *; }
- -keep interface okhttp3.** { *; }
- -dontwarn okhttp3.**
- #glide
- -keep public class * implements com.bumptech.glide.module.GlideModule
- -keep public class * extends com.bumptech.glide.AppGlideModule
- -keep public enum com.bumptech.glide.load.resource.bitmap.ImageHeaderParser$** {
- **[] $VALUES;
- public *;
- }
- -dontwarn retrofit2.**
- -keep class retrofit2.** { *; }
- -keepattributes Signature
- -keepattributes Exceptions
- -keepclassmembers class * {
- public <init> (org.json.JSONObject);
- }
- -keepclassmembers enum * {
- public static **[] values();
- public static ** valueOf(java.lang.String);
- }
- -keepclassmembers class * {
- @android.webkit.JavascriptInterface <methods>;
- }
- #okhttp
- -dontwarn com.squareup.okhttp.**
- -keep class com.chad.library.adapter.** {
- *;
- }
- -keep public class * extends com.chad.library.adapter.base.BaseQuickAdapter
- -keep public class * extends com.chad.library.adapter.base.BaseViewHolder
- -keepclassmembers class **$** extends com.chad.library.adapter.base.BaseViewHolder {
- <init>(...);
- }
- -dontwarn com.kingja.loadsir.**
- -keep class com.kingja.loadsir.** {*;}
- -dontwarn com.litesuits.orm.**
- -keep class com.litesuits.orm.** {*;}
- -dontwarn org.mozilla.javascript.**
- -keep class org.mozilla.javascript.** {*;}
- -dontwarn com.yanzhenjie.permission.**
- #alipay_begin
- -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.** { *;}
- #alipay_end
- -keep class com.hwangjr.rxbus.thread.** {*;}
- -keepattributes *Annotation*
- -keepclassmembers class ** {
- @com.hwangjr.rxbus.annotation.Subscribe public *;
- @com.hwangjr.rxbus.annotation.Produce public *;
- }
- -dontwarn com.yanzhenjie.permission.**
- -keep class com.chad.library.adapter.** {
- *;
- }
- -keep public class * extends com.chad.library.adapter.base.BaseQuickAdapter
- -keep public class * extends com.chad.library.adapter.base.BaseViewHolder
- -keepclassmembers class **$** extends com.chad.library.adapter.base.BaseViewHolder {
- <init>(...);
- }
- -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.bytedance.sdk.openadsdk.** { *; }
- -keep public interface com.bytedance.sdk.openadsdk.downloadnew.** {*;}
- -keep class com.pgl.sys.ces.* {*;}
- # YCWebView
- -keep class com.ycbjie.webviewlib.** {
- *;
- }
- -dontwarn com.ycbjie.webviewlib.**
- -renamesourcefileattribute SourceFile
- -keepattributes Exceptions,InnerClasses,Signature,Deprecated,SourceFile,LineNumberTable,EnclosingMethod
- # Preserve all annotations.
- -keepattributes *Annotation*
- # Preserve all public classes, and their public and protected fields and
- # methods.
- #-keep public class * {
- # public protected *;
- #}
- # Preserve all .class method names.
- #-keepclassmembernames class * {
- # java.lang.Class class$(java.lang.String);
- # java.lang.Class class$(java.lang.String, boolean);
- #}
- # Preserve all native method names and the names of their classes.
- #-keepclasseswithmembernames class * {
- # native <methods>;
- #}
- # Preserve the special static methods that are required in all enumeration
- # classes.
- #}
- #-keepclassmembers class * extends java.lang.Enum {
- # public static **[] values();
- # public static ** valueOf(java.lang.String);
- #
- ## Explicitly preserve all serialization members. The Serializable interface
- ## is only a marker interface, so it wouldn't save them.
- ## You can comment this out if your library doesn't use serialization.
- ## If your code contains serializable classes that have to be backward
- ## compatible, please refer to the manual.
- #
- #-keepclassmembers class * implements java.io.Serializable {
- # static final long serialVersionUID;
- # 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 com.uc.* {*;}
- -dontwarn com.tencent.bugly.**
- -keep public class com.tencent.bugly.**{*;}
- #wx
- -keep class com.tencent.mm.opensdk.** {
- *;
- }
- -keep class com.tencent.wxop.** {
- *;
- }
- -keep class com.tencent.mm.sdk.** {
- *;
- }
- #3D 地图 V5.0.0之前:
- -keep class com.amap.api.maps.**{*;}
- -keep class com.autonavi.amap.mapcore.*{*;}
- -keep class com.amap.api.trace.**{*;}
- # 3D 地图 V5.0.0之后:
- -keep class com.amap.api.maps.**{*;}
- -keep class com.autonavi.**{*;}
- -keep class com.amap.api.trace.**{*;}
- # 定位
- -keep class com.amap.api.location.**{*;}
- -keep class com.amap.api.fence.**{*;}
- -keep class com.loc.**{*;}
- -keep class com.autonavi.aps.amapapi.model.**{*;}
- # 搜索
- -keep class com.amap.api.services.**{*;}
- # 2D地图
- -keep class com.amap.api.maps2d.**{*;}
- -keep class com.amap.api.mapcore2d.**{*;}
- #导航 V7.3.0以前:
- -keep class com.amap.api.navi.**{*;}
- -keep class com.alibaba.idst.nls.** {*;}
- -keep class com.nlspeech.nlscodec.** {*;}
- -keep class com.google.**{*;}
- #PictureSelector 2.0
- -keep class com.luck.picture.lib.** { *; }
- #导航 V7.3.0及以后:
- -keep class com.amap.api.navi.**{*;}
- -keep class com.alibaba.mit.alitts.*{*;}
- -keep class com.google.**{*;}
- #Ucrop
- -dontwarn com.yalantis.ucrop**
- -keep class com.yalantis.ucrop** { *; }
- -keep interface com.yalantis.ucrop** { *; }
- #Okio
- -dontwarn org.codehaus.mojo.animal_sniffer.*
- ##---------------Begin: proguard configuration for Gson ----------
- -keep public class com.google.gson.**
- -keep public class com.google.gson.** {public private protected *;}
- -keep public class com.project.mocha_patient.login.SignResponseData { private *; }
- # Application classes that will be serialized/deserialized over Gson
- -keep class com.hdl.xl.model.** { *; }
- -keep class com.ysnows.base.net.** { *; }
- -keep class com.ysnows.base.model.** { *; }
- -keep class com.ysnows.base.route.** { *; }
- -keepattributes Signature
- #保持 Parcelable 不被混淆
- -keep class * implements android.os.Parcelable {
- public static final android.os.Parcelable$Creator *;
- }
- #保持 Serializable 不被混淆并且enum 类也不被混淆
- -keepclassmembers class * implements java.io.Serializable {
- static final long serialVersionUID;
- private static final java.io.ObjectStreamField[] serialPersistentFields;
- !static !transient <fields>;
- !private <fields>;
- !private <methods>;
- private void writeObject(java.io.ObjectOutputStream);
- private void readObject(java.io.ObjectInputStream);
- java.lang.Object writeReplace();
- java.lang.Object readResolve();
- }
- #保持枚举 enum 类不被混淆
- -keepclassmembers enum * {
- public static **[] values();
- public static ** valueOf(java.lang.String);
- }
- -verbose
- -keep class com.aliyun.aliyunface.network.model.** {*;}
- -keep class com.aliyun.aliyunface.api.ZIMCallback {*;}
- -keep class com.aliyun.aliyunface.api.ZIMFacade {*;}
- -keep class com.aliyun.aliyunface.api.ZIMFacadeBuilder {*;}
- -keep class com.aliyun.aliyunface.api.ZIMMetaInfo {*;}
- -keep class com.aliyun.aliyunface.api.ZIMResponse {*;}
- -keep class com.aliyun.aliyunface.api.ZIMSession {*;}
- -keep class com.aliyun.aliyunface.config.**{*;}
- -keep class com.aliyun.aliyunface.log.RecordBase {*;}
- -keep class com.aliyun.aliyunface.ui.ToygerWebView {*;}
- -keep class com.alipay.zoloz.toyger.**{*;}
- -keep class com.alipay.zoloz.image.** {*;}
- -keep class com.alipay.android.** {*;}
- -keep class net.security.device.api.** {*;}
- -keep class com.alipay.deviceid.** { *; }
- -keep class com.alibaba.fastjson.** {*;}
- -keep class com.alibaba.sdk.android.oss.** { *; }
- -dontwarn okio.**
- -dontwarn org.apache.commons.codec.binary.**
- -keepclassmembers,allowobfuscation class * {
- @com.alibaba.fastjson.annotation.JSONField <fields>;
- }
- -keep class com.tencent.mm.opensdk.** {*;}
- -keep class com.tencent.mm.sdk.** {*;}
- -keep class com.tencent.wxop.** {*;}
- -dontwarn com.unionpay.**
- -keep class com.unionpay.** {*;}
- -keep class com.shuyu.gsyvideoplayer.video.** { *; }
- -dontwarn com.shuyu.gsyvideoplayer.video.**
- -keep class com.shuyu.gsyvideoplayer.video.base.** { *; }
- -dontwarn com.shuyu.gsyvideoplayer.video.base.**
- -keep class com.shuyu.gsyvideoplayer.utils.** { *; }
- -dontwarn com.shuyu.gsyvideoplayer.utils.**
- -keep class tv.danmaku.ijk.** { *; }
- -dontwarn tv.danmaku.ijk.**
- -keep class xyz.doikki.videoplayer.** { *; }
- -dontwarn xyz.doikki.videoplayer.**
- # IjkPlayer
- -keep class tv.danmaku.ijk.** { *; }
- -dontwarn tv.danmaku.ijk.**
- # ExoPlayer
- -keep class com.google.android.exoplayer2.** { *; }
- -dontwarn com.google.android.exoplayer2.**
- -keep class com.ywl5320.wlmedia.* {*;}
- #支付宝
- -dontshrink
- -dontpreverify
- -dontoptimize
- -dontusemixedcaseclassnames
- -flattenpackagehierarchy
- -allowaccessmodification
- -printmapping map.txt
- -optimizationpasses 7
- -verbose
- -keepattributes Exceptions,InnerClasses
- -dontskipnonpubliclibraryclasses
- -dontskipnonpubliclibraryclassmembers
- -ignorewarnings
- -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.content.ContentProvider
- -keep public class * extends java.lang.Throwable {*;}
- -keep public class * extends java.lang.Exception {*;}
- -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.** { *;}
- -keepclasseswithmembernames class * {
- native <methods>;
- }
- -keepclasseswithmembers class * {
- public <init>(android.content.Context, android.util.AttributeSet);
- }
- -keepclasseswithmembers class * {
- public <init>(android.content.Context, android.util.AttributeSet, int);
- }
- -keepclassmembers class * extends android.app.Activity {
- public void *(android.view.View);
- }
- -keepclassmembers enum * {
- public static **[] values();
- public static ** valueOf(java.lang.String);
- }
- -keep class * implements android.os.Parcelable {
- public static final android.os.Parcelable$Creator *;
- }
- # adding this in to preserve line numbers so that the stack traces
- # can be remapped
- -renamesourcefileattribute SourceFile
- -keepattributes SourceFile,LineNumberTable
|