| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538 |
- # 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
- # androidX混淆
- -keep class com.google.android.material.** {*;}
- -keep class androidx.** {*;}
- -keep public class * extends androidx.**
- -keep interface androidx.** {*;}
- -dontwarn com.google.android.material.**
- -dontnote com.google.android.material.**
- -dontwarn androidx.**
- -optimizationpasses 5
- -dontusemixedcaseclassnames
- -dontskipnonpubliclibraryclasses
- -dontskipnonpubliclibraryclassmembers
- -dontpreverify
- -verbose
- -optimizations !code/simplification/arithmetic,!field/*,!class/merging/*
- -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 android.app.backup.BackupAgentHelper
- -keep public class * extends android.preference.Preference
- -keep public class com.android.vending.licensing.ILicensingService
- -keepattributes Signature
- #qq
- -keep class * extends android.app.Dialog
- -keep class com.tencent.open.TDialog$*
- -keep class com.tencent.open.TDialog$* {*;}
- -keep class com.tencent.open.PKDialog
- -keep class com.tencent.open.PKDialog {*;}
- -keep class com.tencent.open.PKDialog$*
- -keep class com.tencent.open.PKDialog$* {*;}
- #umeng
- -keep class com.umeng.** {*;}
- -keep public class * extends com.umeng.**
- -keep public class com.umeng.fb.ui.ThreadView {
- }
- #R文件
- -keep class **.R$* {*;}
- #忘了可能是微博
- -dontwarn sdk.**
- -keep class sdk.** { *; }
- #微信
- -keep class com.tencent.mm.opensdk.** {
- *;
- }
- -keep class com.tencent.wxop.** {
- *;
- }
- -keep class com.tencent.mm.sdk.** {
- *;
- }
- #jackson
- -keep class com.fasterxml.jackson.annotation.** {*;}
- #支付宝
- -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.auth.AlipaySDK{ public *;}
- -keep class com.alipay.sdk.auth.APAuthInfo{ public *;}
- -keep class com.alipay.mobilesecuritysdk.*
- -keep class com.ut.*
- -keepattributes InnerClasses,EnclosingMethod
- -keep public class com.qianyu.diaochan.R$*{
- public static final int *;
- }
- -dontwarn android.support.v4.**
- -keep class android.support.v4.** { *; }
- -dontwarn java.awt.**,javax.security.**,java.beans.**,javax.xml.**,java.util.**,org.w3c.dom.**
- -dontwarn android.net.http.**
- -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 com.qianyu.diaochan.model.**{ *; }
- -keep class com.qianyu.diaochan.socket.**{ *; }
- -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 * {
- public <init>(org.json.JSONObject);
- }
- -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 *;
- }
- #不混淆所有 Parcelable
- -keep class * implements android.os.Parcelable {*;
- }
- -keepclasseswithmembernames class * {
- @butterknife.* <fields>;
- }
- -keepclasseswithmembernames class * {
- @butterknife.* <methods>;
- }
- # Only required if you use AsyncExecutor
- -keepclassmembers class * extends de.greenrobot.event.util.ThrowableFailureEvent {
- <init>(java.lang.Throwable);
- }
- -keepattributes *Annotation*
- -keep class de.greenrobot.** {*;}
- -keepnames class * extends android.view.View
- -keep class * extends android.app.Fragment {
- public void setUserVisibleHint(boolean);
- public void onHiddenChanged(boolean);
- public void onResume();
- public void onPause();
- }
- -keep class androidx.fragment.app.Fragment {
- public void setUserVisibleHint(boolean);
- public void onHiddenChanged(boolean);
- public void onResume();
- public void onPause();
- }
- -keep class * extends androidx.fragment.app.Fragment {
- public void setUserVisibleHint(boolean);
- public void onHiddenChanged(boolean);
- public void onResume();
- public void onPause();
- }
- #mp4parser
- -keep class * implements com.coremedia.iso.boxes.Box { *; }
- -dontwarn com.coremedia.iso.boxes.**
- -dontwarn com.googlecode.mp4parser.authoring.tracks.mjpeg.**
- -dontwarn com.googlecode.mp4parser.authoring.tracks.ttml.**
- -assumenosideeffects class android.util.Log {
- public static boolean isLoggable(java.lang.String,int);
- public static int v(...);
- public static int i(...);
- public static int w(...);
- public static int d(...);
- public static int e(...);
- }
- #okhttp
- -dontwarn org.codehaus.**
- -dontwarn java.nio.**
- -keep class com.squareup.okhttp.** { *;}
- #Glide okhttp
- -keep class com.bumptech.glide.integration.okhttp3.OkHttpGlideModule
- #Glide
- -keep public class * implements com.bumptech.glide.module.GlideModule
- -keep class * extends com.bumptech.glide.module.AppGlideModule {
- <init>(...);
- }
- -keep public enum com.bumptech.glide.load.ImageHeaderParser$** {
- **[] $VALUES;
- public *;
- }
- -keep class com.bumptech.glide.load.data.ParcelFileDescriptorRewinder$InternalRewinder {
- *** rewind();
- }
- # Disabling obfuscation is useful if you collect stack traces from production crashes
- # (unless you are using a system that supports de-obfuscate the stack traces).
- -dontobfuscate
- -dontshrink
- # okhttp
- -keepattributes Signature
- -keepattributes *Annotation*
- -keep class okhttp3.** { *; }
- -keep interface okhttp3.** { *; }
- -dontwarn okhttp3.**
- # okio
- -keep class sun.misc.Unsafe { *; }
- -dontwarn java.nio.file.*
- -dontwarn org.codehaus.mojo.animal_sniffer.IgnoreJRERequirement
- -dontwarn okio.**
- ##
- -dontwarn com.tencent.connect.avatar.**
- -keep class com.tencent.** {*;}
- -dontwarn com.umeng.**
- #RecyclerViewPager
- -keep class com.lsjwzh.widget.recyclerviewpager.**
- -dontwarn com.lsjwzh.widget.recyclerviewpager.**
- ########--------Retrofit + RxJava--------#########
- -dontwarn retrofit2.**
- -keep class retrofit2.** { *; }
- -dontwarn sun.misc.Unsafe
- -dontwarn com.octo.android.robospice.retrofit.RetrofitJackson**
- -dontwarn retrofit2.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 retrofit2.** { *; }
- -keep class uk.co.senab.** { *; }
- -keep class rx.** { *; }
- -keep class retrofit2.** { *; }
- -keep class okio.** { *; }
- -keep class okhttp3.** { *; }
- -keep class u.aly.bo.** { *; }
- -dontnote org.apache.http.**
- -dontnote org.json.**
- -dontnote com.qianyu.diaochan.**
- -dontnote kankan.wheel.**
- -dontnote internal.org.apache.**
- -dontnote com.yintong.**
- -dontnote com.umeng.**
- -dontnote com.tendcloud.**
- -dontnote com.slider.library.**
- -dontnote com.sina.weibo.**
- -dontnote com.mp4parser.**
- -dontnote com.mobeta.android.**
- -dontnote org.apache.commons.**
- -dontnote com.asqw.android.**
- -dontnote fqcn.of.javascript.**
- -dontnote sun.misc.**
- -dontnote com.github.ksoichiro.**
- -dontnote com.alipay.**
- -dontnote com.baidu.**
- -dontnote com.facebook.**
- -dontnote com.google.gson.**
- -dontnote com.igexin.**
- -dontnote com.pingan.**
- -dontnote com.tencent.**
- -dontnote com.unionpay.**
- -dontnote okhttp3.**
- -dontnote org.jivesoftware.**
- -dontnote retrofit2.**
- -dontnote rx.internal.**
- -dontnote me.imid.**
- -dontnote u.aly.**
- -dontnote org.joda.**
- -dontnote android.inputmethodservice.**
- -dontnote com.handmark.pulltorefresh.**
- -dontnote com.googlecode.mp4parser.**
- -dontnote com.google.zxing.**
- -dontnote com.github.mikephil.**
- -dontnote com.example.wheelpickerlibrary.**
- -dontnote com.etsy.android.**
- -dontnote com.coremedia.iso.**
- -dontnote android.net.http.**
- -dontnote org.apache.commons.**
- -dontwarn org.apache.http.**
- -dontwarn android.net.http.AndroidHttpClient
- -dontwarn retrofit2.**
- -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;
- long producerNode;
- long consumerNode;
- }
- -keepclassmembers class rx.internal.util.unsafe.BaseLinkedQueueConsumerNodeRef {
- rx.internal.util.atomic.LinkedQueueNode consumerNode;
- }
- -dontwarn okio.**
- -dontwarn retrofit2.Platform$Java8
- -keepattributes *Annotation*
- -keepattributes Signature
- -keepattributes *Annotation*,Signature
- #google
- -keep public class com.google.** {*;}
- # don't warn joda
- -dontwarn org.joda.**
- # ARouter
- -keep public class com.alibaba.android.arouter.routes.**{*;}
- -keep class * implements com.alibaba.android.arouter.facade.template.ISyringe{*;}
- #------------------ 下方是共性的排除项目 ----------------
- # 方法名中含有“JNI”字符的,认定是Java Native Interface方法,自动排除
- # 方法名中含有“JRI”字符的,认定是Java Reflection Interface方法,自动排除
- -keepclasseswithmembers class * {
- ... *JNI*(...);
- }
- -keepclasseswithmembernames class * {
- ... *JRI*(...);
- }
- -keep class **JNI* {*;}
- # --------------------------------------------------------------------------
- # Addidional for x5.sdk classes for apps
- -dontwarn dalvik.**
- -dontwarn com.tencent.smtt.**
- -keep class com.tencent.smtt.** {
- *;
- }
- -keep class com.tencent.tbs.** {
- *;
- }
- #protobuf
- -keep class com.google.protobuf.** {*;}
- -dontwarn com.google.protobuf.**
- #stetho
- -keep class com.facebook.stetho.** { *; }
- -dontwarn org.mozilla.javascript.**
- -dontwarn org.mozilla.classfile.**
- -keep class org.mozilla.javascript.** { *; }
- #json_path
- -keep class com.jayway.jsonpath.**{ *; }
- -dontwarn com.jayway.jsonpath.**
- -keep class org.slf4j.**{ *; }
- -dontwarn org.slf4j.**
- #adapter
- -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>(...);
- }
- #tutuSdk
- -keepclassmembers class * implements java.io.Serializable {
- static final long serialVersionUID;
- private void writeObject(java.io.ObjectOutputStream);
- private void readObject(java.io.ObjectInputStream);
- java.lang.Object writeReplace();
- java.lang.Object readResolve();
- }
- # keep setters in Views so that animations can still work.
- # see http://proguard.sourceforge.net/manual/examples.html#beans
- -keepclassmembers public class * extends android.view.View {
- void set*(***);
- *** get*();
- }
- # We want to keep methods in Activity that could be used in the XML attribute onClick
- -keepclassmembers class * extends android.app.Activity {
- public void *(android.view.View);
- }
- # For enumeration classes, see http://proguard.sourceforge.net/manual/examples.html#enumerations
- -keepclassmembers enum * {
- public static **[] values();
- public static ** valueOf(java.lang.String);
- }
- -keep class * implements android.os.Parcelable {
- public static final android.os.Parcelable$Creator *;
- }
- -verbose
- -optimizations !code/simplification/arithmetic,!field/*,!class/merging/*
- # The support library contains references to newer platform versions.
- # Don't warn about those in case this app is linking against an older
- # platform version. We know about them, and they are safe.
- -dontwarn android.support.**
- -dontwarn org.apache.commons.**
- -keep class android.support.**{ *; }
- -keep class org.apache.commons.**{ *; }
- -keep class com.nostra13.universalimageloader.**{ *; }
- -keep class it.sephiroth.android.library.exif2.**{ *; }
- -keep class org.lasque.tusdk.**{public *; protected *; }
- -keep class org.lasque.tusdk.core.utils.image.GifHelper{ *; }
- -keep class org.lasque.codec.**{public *; protected *; private *;}
- #MPAndroidChart
- -dontwarn com.github.mikephil.charting.data.
- ##TONGDUN
- #-dontwarn android.os.**
- #-dontwarn com.android.internal.**
- #-keep class cn.tongdun.android.**{*;}
- #-keep class cn.tongdun.bugly.**{*;}
- # ========== chameleon 包下的类混淆配置 ==========
- -keep class com.didi.chameleon.** { *; }
- # ========== liveDataBus 混淆配置 ==========
- -dontwarn com.jeremyliao.liveeventbus.**
- -keep class com.jeremyliao.liveeventbus.** { *; }
- -keep class androidx.lifecycle.** { *; }
- -keep class androidx.arch.core.** { *; }
- #实体类
- -keep class **.model.**{*;}
- #实体类
- -keep class **.models.**{*;}
- #manifestPaser
- -keep class * implements com.xueyu.applicationproxy.ConfigModule {*;}
- #viewModel
- -keep class * extends com.yc.baselibrary.view.base.BaseVm{*;}
- # ServiceLoader support
- -keepnames class kotlinx.coroutines.internal.MainDispatcherFactory {}
- -keepnames class kotlinx.coroutines.CoroutineExceptionHandler {}
- -keepnames class kotlinx.coroutines.android.AndroidExceptionPreHandler {}
- -keepnames class kotlinx.coroutines.android.AndroidDispatcherFactory {}
- # Most of volatile fields are updated with AFU and should not be mangled
- -keepclassmembernames class kotlinx.** {
- volatile <fields>;
- }
- #PictureSelector 2.0
- -keep class com.luck.picture.lib.** { *; }
- #Ucrop
- -dontwarn com.yalantis.ucrop**
- -keep class com.yalantis.ucrop** { *; }
- -keep interface com.yalantis.ucrop** { *; }
- #Okio
- -dontwarn org.codehaus.mojo.animal_sniffer.*
- # 哪个包混淆失败,就取消对那个包的混淆
- -dontwarn com.android.internal.**
- -keep class com.android.internal.** { *;}
- -dontwarn com.android.server.**
- -keep class com.android.server.** { *;}
- -dontwarn com.mediatek.**
- -keep class com.mediatek.** { *;}
- -dontwarn android.**
- -keep class android.** { *;}
- -dontwarn org.apache.http.**
- -keep class org.apache.http.** { *;}
- -dontwarn com.dreamlive.cn.**
- -keep classcom.dreamlive.cn.**{*;}
- -keep public class com.bumptech.glide.integration.webp.WebpImage { *; }
- -keep public class com.bumptech.glide.integration.webp.WebpFrame { *; }
- -keep public class com.bumptech.glide.integration.webp.WebpBitmapFactory { *; }
|