# 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 -dontwarn -optimizationpasses 5 -dontusemixedcaseclassnames -dontskipnonpubliclibraryclasses -dontskipnonpubliclibraryclassmembers -dontpreverify -verbose #-optimizations !code/simplification/arithmetic,!field/*,!class/merging/* -dontoptimize -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 * extends io.dcloud.common.DHInterface.IPlugin -keep public class * extends io.dcloud.common.DHInterface.IFeature -keep public class * extends io.dcloud.common.DHInterface.IBoot -keep public class * extends io.dcloud.common.DHInterface.IReflectAble -keep class io.dcloud.** {*;} -dontwarn io.dcloud.** -keep class vi.com.gdi.** {*;} -keep class android.support.v4.** {*;} -keepclasseswithmembers class io.dcloud.appstream.StreamAppManager { public protected ; } -keep public class * extends io.dcloud.common.DHInterface.IReflectAble{ public protected ; public protected *; } -keep class **.R -keep class **.R$* { public static ; } -keep public class * extends io.dcloud.common.DHInterface.IJsInterface{ public protected ; public protected *; } -keepclasseswithmembers class io.dcloud.EntryProxy { ; } -keep class * implements android.os.IInterface { ; } -keepclasseswithmembers class *{ public static java.lang.String getJsContent(); } -keepclasseswithmembers class *{ public static io.dcloud.share.AbsWebviewClient getWebviewClient(io.dcloud.share.ShareAuthorizeView); } -keepattributes Exceptions,InnerClasses,Signature,Deprecated, SourceFile,LineNumberTable,*Annotation*,EnclosingMethod -keepclasseswithmembers class * { public (android.content.Context, android.util.AttributeSet); } -keepclasseswithmembers class * { public (android.content.Context, android.util.AttributeSet, int); } -keep public class * extends android.app.Application{ public static ; public *; } -keepclassmembers class * extends android.app.Activity { public void *(android.view.View); public static ; } -keepclassmembers enum * { public static **[] values(); public static ** valueOf(java.lang.String); } -keep class * implements android.os.Parcelable { public static final android.os.Parcelable$Creator *; } -keep class dc.** {*;} -keep class okio.**{*;} -keep class org.apache.** {*;} -keep class org.json.** {*;} -keep class net.ossrs.** {*;} -keep class android.** {*;} -keep class com.facebook.**{*;} -keep class com.bumptech.glide.**{*;} -keep class com.alibaba.fastjson.**{*;} -keep class com.sina.**{*;} -keep class com.weibo.ssosdk.**{*;} -keep class com.asus.**{*;} -keep class com.bun.**{*;} -keep class com.heytap.**{*;} -keep class com.huawei.**{*;} -keep class com.netease.**{*;} -keep class com.meizu.**{*;} -keep class com.samsung.**{*;} -keep class com.zui.**{*;} -keep class com.amap.**{*;} -keep class com.autonavi.**{*;} -keep class pl.droidsonroids.gif.**{*;} -keep class com.tencent.**{*;} -keep class com.baidu.**{*;} -keep class com.iflytek.**{*;} -keep class com.umeng.**{*;} -keep class tv.**{*;} -keep class master.**{*;} -keep class uk.co.**{*;} -keep class com.dmcbig.**{*;} -keep class org.mozilla.**{*;} -keep class androidtranscoder.**{*;} -keep class XI.**{*;} -dontwarn android.** -dontwarn com.tencent.** -keep class * implements com.taobao.weex.IWXObject{*;} -keep public class * extends com.taobao.weex.common.WXModule{*;} -keepattributes Signature -dontwarn org.codehaus.mojo.** -dontwarn org.apache.commons.** -dontwarn com.amap.** -dontwarn com.sina.weibo.sdk.** -dontwarn com.alipay.** -dontwarn com.lucan.ajtools.** -dontwarn pl.droidsonroids.gif.** -keep class com.taobao.weex.** { *; } -keep class com.taobao.gcanvas.**{*;} -dontwarn com.taobao.weex.** -dontwarn com.taobao.gcanvas.** #个推 -dontwarn com.igexin.** -keep class com.igexin.** { *; } -keep class org.json.** { *; } -dontwarn com.getui.** -keep class com.getui.** { *; } -keep class android.support.v4.app.NotificationCompat { *; } -keep class android.support.v4.app.NotificationCompat$Builder { *; } #魅族 -keep class com.meizu.** { *; } -dontwarn com.meizu.** #小米 -keep class com.xiaomi.** { *; } -dontwarn com.xiaomi.push.** -keep class org.apache.thrift.** { *; } #华为 -dontwarn com.huawei.hms.** -keep class com.huawei.hms.** { *; } -keep class com.huawei.android.** { *; } -dontwarn com.huawei.android.** -keep class com.hianalytics.android.** { *; } -dontwarn com.hianalytics.android.** -keep class com.huawei.updatesdk.** { *; } -dontwarn com.huawei.updatesdk.** #OPPO -keep class com.coloros.mcssdk.** { *; } -dontwarn com.coloros.mcssdk.** #360聚合广告核心包 -keep class com.ak.** {*;} -dontwarn com.ak.** -keep class android.support.v4.** { public *; } #广点通SDK -keep class com.qq.e.** { public protected *; } -keep class android.support.v7.**{ public *; } #穿山甲SDK -keep class com.bytedance.sdk.openadsdk.** { *; } -dontwarn com.bytedance.sdk.openadsdk.** -keep class com.androidquery.callback.** {*;} -keep public interface com.bytedance.sdk.openadsdk.downloadnew.** {*;} -keep class com.ss.sys.ces.* {*;} #快手 -keep class org.chromium.** {*;} -keep class org.chromium.** {*;} -keep class aegon.chrome.** {*;} -keep class com.kwai.**{*;} -keep class com.kwad.**{*;} -keepclasseswithmembernames class * { native ; } -dontwarn com.kwai.** -dontwarn com.kwad.** -dontwarn com.ksad.** -dontwarn aegon.chrome.** #一键登录 -dontwarn com.g.gysdk.** -keep class com.g.gysdk.**{*;} -dontwarn com.g.elogin.** -keep class com.g.elogin.**{*;} -dontwarn com.cmic.sso.sdk.** -keep class com.cmic.sso.sdk.** {*;} -dontwarn com.geetest.onelogin.** -keep class com.geetest.onelogin.** {*;} -dontwarn com.geetest.onepassv2.** -keep class com.geetest.onepassv2.** {*;} -dontwarn com.unicom.xiaowo.login.** -keep class com.unicom.xiaowo.login.** {*;} -dontwarn cn.com.chinatelecom.account.api.** -keep class cn.com.chinatelecom.account.api.** {*;} #腾讯X5--------------start----------------------- -dontwarn dalvik.** -dontwarn com.tencent.smtt.** #-overloadaggressively # ------------------ Keep LineNumbers and properties ---------------- # -keepattributes Exceptions,InnerClasses,Signature,Deprecated,SourceFile,LineNumberTable,*Annotation*,EnclosingMethod # -------------------------------------------------------------------------- # Addidional for x5.sdk classes for apps -keep class com.tencent.smtt.export.external.**{*;} -keep class com.tencent.tbs.video.interfaces.IUserStateChangedListener {*;} -keep class com.tencent.smtt.sdk.CacheManager {public *;} -keep class com.tencent.smtt.sdk.CookieManager {public *;} -keep class com.tencent.smtt.sdk.WebHistoryItem {public *;} -keep class com.tencent.smtt.sdk.WebViewDatabase {public *;} -keep class com.tencent.smtt.sdk.WebBackForwardList {public *;} -keep public class com.tencent.smtt.sdk.WebView {public ;public ;} -keep public class com.tencent.smtt.sdk.WebView$HitTestResult {public static final ;public java.lang.String getExtra();public int getType();} -keep public class com.tencent.smtt.sdk.WebView$WebViewTransport {public ;} -keep public class com.tencent.smtt.sdk.WebView$PictureListener {public ;public ;} -keepattributes InnerClasses -keep public enum com.tencent.smtt.sdk.WebSettings$** {*;} -keep public enum com.tencent.smtt.sdk.QbSdk$** {*;} -keep public class com.tencent.smtt.sdk.WebSettings {public *;} -keepattributes Signature -keep public class com.tencent.smtt.sdk.ValueCallback {public ;public ;} -keep public class com.tencent.smtt.sdk.WebViewClient {public ;public ;} -keep public class com.tencent.smtt.sdk.DownloadListener {public ;public ;} -keep public class com.tencent.smtt.sdk.WebChromeClient {public ;public ;} -keep public class com.tencent.smtt.sdk.WebChromeClient$FileChooserParams {public ;public ;} -keep class com.tencent.smtt.sdk.SystemWebChromeClient{public *;} # 1. extension interfaces should be apparent -keep public class com.tencent.smtt.export.external.extension.interfaces.* {public protected *;} # 2. interfaces should be apparent -keep public class com.tencent.smtt.export.external.interfaces.* {public protected *;} -keep public class com.tencent.smtt.sdk.WebViewCallbackClient {public protected *;} -keep public class com.tencent.smtt.sdk.WebStorage$QuotaUpdater {public ;public ;} -keep public class com.tencent.smtt.sdk.WebIconDatabase {public ;public ;} -keep public class com.tencent.smtt.sdk.WebStorage {public ;public ;} -keep public class com.tencent.smtt.sdk.DownloadListener {public ;public ;} -keep public class com.tencent.smtt.sdk.QbSdk {public ;public ;} -keep public class com.tencent.smtt.sdk.QbSdk$PreInitCallback {public ;public ;} -keep public class com.tencent.smtt.sdk.CookieSyncManager {public ;public ;} -keep public class com.tencent.smtt.sdk.Tbs* {public ;public ;} -keep public class com.tencent.smtt.utils.LogFileUtils {public ;public ;} -keep public class com.tencent.smtt.utils.TbsLog {public ;public ;} -keep public class com.tencent.smtt.utils.TbsLogClient {public ;public ;} -keep public class com.tencent.smtt.sdk.CookieSyncManager {public ;public ;} # Added for game demos -keep public class com.tencent.smtt.sdk.TBSGamePlayer {public ;public ;} -keep public class com.tencent.smtt.sdk.TBSGamePlayerClient* {public ;public ;} -keep public class com.tencent.smtt.sdk.TBSGamePlayerClientExtension {public ;public ;} -keep public class com.tencent.smtt.sdk.TBSGamePlayerService* {public ;public ;} -keep public class com.tencent.smtt.utils.Apn {public ;public ;} -keep class com.tencent.smtt.** {*;} # end -keep public class com.tencent.smtt.export.external.extension.proxy.ProxyWebViewClientExtension {public ;public ;} -keep class MTT.ThirdAppInfoNew {*;} -keep class com.tencent.mtt.MttTraceEvent {*;} # Game related -keep public class com.tencent.smtt.gamesdk.* {public protected *;} -keep public class com.tencent.smtt.sdk.TBSGameBooter {public ;public ;} -keep public class com.tencent.smtt.sdk.TBSGameBaseActivity {public protected *;} -keep public class com.tencent.smtt.sdk.TBSGameBaseActivityProxy {public protected *;} -keep public class com.tencent.smtt.gamesdk.internal.TBSGameServiceClient {public *;} #腾讯X5--------------end----------------------- # 代码混淆压缩比,在 0~7 之间,默认为 5,一般不做修改 -optimizationpasses 5 # 混合时不使用大小写混合,混合后的类名为小写 -dontusemixedcaseclassnames # 指定不去忽略非公共库的类 -dontskipnonpubliclibraryclasses # 这句话能够使我们在查看崩溃报告时能对应到明文的代码 -keepattributes SourceFile,LineNumberTable # 保持泛型 -keepattributes Signature # 保持注解 -keepattributes *Annotation* # 【关键】正式环境移除日志打印 (需配合 build.gradle 中 isMinifyEnabled true 使用) -assumenosideeffects class android.util.Log { public static int v(...); public static int d(...); public static int i(...); public static int w(...); public static int e(...); } # --- Retrofit & OkHttp --- -keepattributes Signature, InnerClasses -keep class retrofit2.** { *; } -keep class okhttp3.** { *; } -dontwarn retrofit2.** -dontwarn okhttp3.** -keep class com.squareup.okhttp3.** { *; } -dontwarn com.squareup.okhttp3.** -dontwarn okio.** # --- Gson (必须保持用于解析的 Bean 类不被混淆) --- -keep class com.google.gson.** { *; } # 假设你的数据模型包名是 com.img.rabbit.model,请务必根据实际修改: -keep class com.img.rabbit.model.** { *; } # --- Glide & Coil --- -keep public class * implements com.bumptech.glide.module.GlideModule -keep class com.bumptech.glide.** { *; } -keep class io.coilkt.** { *; } # --- MMKV --- -keep class com.tencent.mmkv.** { *; } # --- 友盟 (Umeng) --- -keep class com.umeng.** { *; } -keep class com.uc.** { *; } -dontwarn com.umeng.** -dontwarn com.uc.** # --- 个推 (Getui) --- -keep class com.getui.** { *; } -dontwarn com.getui.** # --- 微信 SDK --- -keep class com.tencent.mm.opensdk.** { *; } -keep class com.tencent.wxop.** { *; } -keep class com.tencent.mm.sdk.** { *; } # --- MLKit (人脸检测/分割) --- -keep class com.google.mlkit.** { *; } -keep class com.google.android.gms.** { *; } # --- Uni小程序 & Fresco & FastJson --- -keep class com.alibaba.fastjson.** { *; } -keep class com.facebook.fresco.** { *; } -keep class com.facebook.imagepipeline.** { *; } -keep class com.facebook.animated.gif.** { *; } -keep class pl.droidsonroids.gif.** { *; } # Uni小程序特定类保持 -keep class io.dcloud.** { *; } # --- Android_CN_OAID --- -keep class com.github.gzu_liyujiang.oaid.** { *; } # 友盟号码认证 -keep class com.umeng.**{*;} -keepclassmembers class*{ public (org.json.JSONObject); } -keepclassmembers enum*{ public static **[] values(); public static ** valueOf(java.lang.String); } # 友盟号码认证 结束 -keep class com.img.rabbit.** { *; } -keep class com.img.rabbit.data.bean.** { *; }