# Add project specific ProGuard rules here. # By default, the flags in this file are appended to flags specified # in E:\work\android_sdk\android-sdk-windows/tools/proguard/proguard-android.txt # You can edit the include path and order by changing the proguardFiles # directive in build.gradle. # # For more details, see # http://developer.android.com/guide/developing/tools/proguard.html # Add any project specific keep options here: # 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 *; #} -keep class com.mob.**{*;} -keep class cn.smssdk.**{*;} -dontwarn com.mob.** -dontwarn cn.smssdk.** -ignorewarnings -keep class javax.ws.rs.** { *; } -dontwarn com.alibaba.fastjson.** -keep class com.alibaba.fastjson.** { *; } #环信 -keep class org.xmlpull.** {*;} -keep class com.hyphenate.** {*;} -keep class com.hyphenate.chat.** {*;} -dontwarn com.hyphenate.** -keep class org.jivesoftware.** {*;} -keep class org.apache.** {*;} #2.0.9后加入语音通话功能,如需使用此功能的api,加入以下keep -keep class net.java.sip.** {*;} -keep class org.webrtc.voiceengine.** {*;} -keep class org.bitlet.** {*;} -keep class org.slf4j.** {*;} -keep class ch.imvs.** {*;} -keep class com.superrtc.** { *; } #-------------- okhttp3 start------------- # OkHttp3 # https://github.com/square/okhttp # okhttp -keep class com.squareup.okhttp.* { *; } -keep interface com.squareup.okhttp.** { *; } -dontwarn com.squareup.okhttp.** # okhttp 3 -keepattributes Signature -keepattributes *Annotation* -keep class okhttp3.** { *; } -keep interface okhttp3.** { *; } -dontwarn okhttp3.** # Okio -dontwarn com.squareup.** -dontwarn okio.** -keep public class org.codehaus.* { *; } -keep public class java.nio.* { *; } #----------okhttp end-------------- -keep class org.greenrobot.greendao.**{*;} -keepclassmembers class * extends org.greenrobot.greendao.AbstractDao { public static java.lang.String TABLENAME; } -keep class **$Properties -dontwarn javax.annotation.** -dontwarn javax.inject.** # OkHttp3 -dontwarn okhttp3.logging.** -keep class okhttp3.internal.**{*;} -dontwarn okio.** # Retrofit -dontwarn retrofit2.** -keep class retrofit2.** { *; } # 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; } # Gson -keep class com.google.gson.stream.** { *; } -keepattributes EnclosingMethod ##Glide -dontwarn com.bumptech.glide.** -keep class com.bumptech.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 *; } -keep class jp.wasabeef.glide.transformations.** ############ --------以下通用--------########### #指定代码的压缩级别 -optimizationpasses 5 #包明不混合大小写 -dontusemixedcaseclassnames #不去忽略非公共的库类 -dontskipnonpubliclibraryclasses #优化  不优化输入的类文件 -dontoptimize #预校验 -dontpreverify #混淆时是否记录日志 -verbose # 混淆时所采用的算法 -optimizations !code/simplification/arithmetic,!field/*,!class/merging/* # 保持哪些类不被混淆 -keep public class * extends android.app.Fragment -keep public class * extends android.app.Activity -keep public class * extends androidx.appcompat.app.AppCompatActivity -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 #如果有引用v4包可以添加下面这行 -keep public class * extends androidx.fragment.app.Fragment #忽略警告 -ignorewarnings ##记录生成的日志数据,gradle build时在本项目根目录输出## #apk 包内所有 class 的内部结构 #-dump proguard/class_files.txt #未混淆的类和成员 -printseeds proguard/seeds.txt #列出从 apk 中删除的代码 -printusage proguard/unused.txt #混淆前后的映射 -printmapping proguard/mapping.txt ########记录生成的日志数据,gradle build时 在本项目根目录输出-end###### #如果引用了v4或者v7包 -dontwarn android.support.** ####混淆保护自己项目的部分代码以及引用的第三方jar包library-end#### #保持自定义控件类不被混淆 -keepclassmembers class * extends android.app.Activity -keep public class * extends android.view.View #保持 Parcelable 不被混淆 -keep class * implements android.os.Parcelable #保持 Serializable 不被混淆 -keepnames class * implements java.io.Serializable #保持 Serializable 不被混淆并且enum 类也不被混淆 -keepclassmembers class * implements java.io.Serializable #保持枚举 enum 类不被混淆 #-keepclassmembers enum * #不混淆资源类 -keepclassmembers class **.R$* # 针对android-support-v4.jar的解决方案androidx.fragment.app.Fragment -dontwarn android.support.v4.** # -keep class android.support.v4.** { *; } # -keep interface android.support.v4.app.** { *; } # -keep public class * extends android.support.v4.** # -keep public class * extends android.app.Fragmen #talkingdata START -dontwarn com.tendcloud.tenddata.** -keep class com.tendcloud.** {*;} -keep public class com.tendcloud.tenddata.** { public protected *;} -keepclassmembers class com.tendcloud.tenddata.**{ public void *(***); } -keep class com.talkingdata.sdk.TalkingDataSDK {public *;} -keep class com.apptalkingdata.** {*;} #talkingdata END #talkingdata 广告 START -keep class com.talkingdata.sdk.** {*;} -keep class com.tendcloud.** {*;} -keep public class com.tendcloud.** { public protected *;} #talkingdata END -dontwarn com.cmic.sso.sdk.** -keep public class com.cmic.sso.sdk.**{*;} -keep class cn.com.chinatelecom.account.api.**{*;} -keep class com.netease.nis.quicklogin.entity.**{*;} -keep class com.netease.nis.quicklogin.listener.**{*;} -keep class com.netease.nis.quicklogin.QuickLogin{ public ; public ; } -keep class com.netease.nis.quicklogin.helper.UnifyUiConfig{*;} -keep class com.netease.nis.quicklogin.helper.UnifyUiConfig$Builder{ public ; public ; } -keep class com.netease.nis.quicklogin.utils.LoginUiHelper$CustomViewListener{ public ; public ; } -dontwarn com.sdk.** -keep class com.sdk.** { *;} #阿里云一键登录 -keep class cn.com.chinatelecom.** {*;} -keep class com.unicom.xiaowo.login.** {*;} -keep class com.cmic.sso.sdk.** {*;} -keep class com.mobile.auth.** {*;} -keep class com.nirvana.** {*;} -keep class com.alibaba.fastjson.** {*;} -keepclasseswithmembernames class * { native ; } -keepclassmembers class * { @android.support.annotation.Keep ; @android.support.annotation.Keep ; } -keep @android.support.annotation.Keep class * {*;} -dontwarn # --- uc crash start ----(如果集成了UC crash收集组件需要增加这个配置) -keep class com.uc.crashsdk.** { *; } -keep interface com.uc.crashsdk.** { *; } # --- uc crash end --- -keepattributes Signature -keepattributes *Annotation* #阿里云一键登录 END #阿里ARoute -keep public class com.alibaba.android.arouter.routes.**{*;} -keep public class com.alibaba.android.arouter.facade.**{*;} -keep class * implements com.alibaba.android.arouter.facade.template.ISyringe{*;} # If you use the byType method to obtain Service, add the following rules to protect the interface: -keep interface * implements com.alibaba.android.arouter.facade.template.IProvider # If single-type injection is used, that is, no interface is defined to implement IProvider, the following rules need to be added to protect the implementation # -keep class * implements com.alibaba.android.arouter.facade.template.IProvider #阿里ARoute END #MobSDK -keep class com.mob.**{*;} -dontwarn com.mob.** #MobSDK END #ZEGO -keep class **.zego.**{*;} #ZEGO END #不需混淆的Android类 -keep public class * extends android.app.Fragment -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.preference.Preference -keep public class * extends android.content.ContentProvider -keep public class * extends android.support.v4.** -keep public class * extends android.support.annotation.** -keep public class * extends android.support.v7.** -keep public class * extends android.app.backup.BackupAgentHelper -keep public class * extends android.preference.Preference -keep public class * extends android.view.View -keep public class com.android.vending.licensing.ILicensingService -keep class android.support.** {*;} #support-v4包 -dontwarn android.support.v4.** -keep class android.support.v4.app.** { *; } -keep interface android.support.v4.app.** { *; } -keep class android.support.v4.** { *; } #support-v7包 -dontwarn android.support.v7.** -keep class android.support.v7.internal.** { *; } -keep interface android.support.v7.internal.** { *; } -keep class android.support.v7.** { *; } #support design -dontwarn android.support.design.** -keep class android.support.design.** { *; } -keep interface android.support.design.** { *; } -keep public class android.support.design.R$* { *; } #避免混淆自定义控件类的 get/set 方法和构造函数 -keep public class * extends android.view.View{ *** get*(); void set*(***); public (android.content.Context); public (android.content.Context, android.util.AttributeSet); public (android.content.Context, android.util.AttributeSet, int); } #关闭 Log日志 -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(...); } #避免资源混淆 -keep class **.R$* {*;} #避免layout中onclick方法(android:onclick="onClick")混淆 -keepclassmembers class * extends android.app.Activity{ public void *(android.view.View); } #避免回调函数 onXXEvent 混淆 -keepclassmembers class * { void *(*Event); } #避免混淆枚举类 -keepclassmembers enum * { public static **[] values(); public static ** valueOf(java.lang.String); } #Natvie 方法不混淆 -keepclasseswithmembernames class * { native ; } #避免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 ; private void writeObject(java.io.ObjectOutputStream); private void readObject(java.io.ObjectInputStream); java.lang.Object writeReplace(); java.lang.Object readResolve(); } #WebView混淆配置 -keepclassmembers class fqcn.of.javascript.interface.for.webview { public *; } -keepclassmembers class * extends android.webkit.webViewClient { public void *(android.webkit.WebView, java.lang.String, android.graphics.Bitmap); public boolean *(android.webkit.WebView, java.lang.String); } -keepclassmembers class * extends android.webkit.webViewClient { public void *(android.webkit.webView, jav.lang.String); } #ButterKnife混淆配置 -keep class butterknife.** { *; } -dontwarn butterknife.internal.** -keep class **$$ViewBinder { *; } -keepclasseswithmembernames class * { @butterknife.* ; } -keepclasseswithmembernames class * { @butterknife.* ; } #OkHttp3混淆配置 -dontwarn com.squareup.okhttp3.** -keep class com.squareup.okhttp3.** { *;} -dontwarn okio.** #Retrofit2混淆配置 -dontwarn retrofit2.** -keep class retrofit2.** { *; } -keepattributes Signature -keepattributes Exceptions #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; } #Glide混淆配置 #Glide 3 -keep public class * implements com.bumptech.glide.module.GlideModule -keep public enum com.bumptech.glide.load.resource.bitmap.ImageHeaderParser$** { **[] $VALUES; public *; } #Glide 4 -keep public class * implements com.bumptech.glide.module.AppGlideModule -keep public class * implements com.bumptech.glide.module.LibraryGlideModule -keep public enum com.bumptech.glide.load.ImageHeaderParser$** { **[] $VALUES; public *; } #Picasso混淆配置 -keep class com.parse.*{ *; } -dontwarn com.parse.** -dontwarn com.squareup.picasso.** -keepclasseswithmembernames class * { native ; } #Fresco混淆配置 # Keep our interfaces so they can be used by other ProGuard rules. # See http://sourceforge.net/p/proguard/bugs/466/ -keep,allowobfuscation @interface com.facebook.common.internal.DoNotStrip -keep,allowobfuscation @interface com.facebook.soloader.DoNotOptimize # Do not strip any method/class that is annotated with @DoNotStrip -keep @com.facebook.common.internal.DoNotStrip class * -keepclassmembers class * { @com.facebook.common.internal.DoNotStrip *; } # Do not strip any method/class that is annotated with @DoNotOptimize -keep @com.facebook.soloader.DoNotOptimize class * -keepclassmembers class * { @com.facebook.soloader.DoNotOptimize *; } # Keep native methods -keepclassmembers class * { native ; } -dontwarn okio.** -dontwarn com.squareup.okhttp.** -dontwarn okhttp3.** -dontwarn javax.annotation.** -dontwarn com.android.volley.toolbox.** -dontwarn com.facebook.infer.** #Fastjson混淆配置 -dontwarn com.alibaba.fastjson.** -keep class com.alibaba.fastjson.**{*; } #Gson混淆配置 -keep class com.google.gson.** {*;} -keep class com.google.**{*;} -keep class sun.misc.Unsafe { *; } -keep class com.google.gson.stream.** { *; } -keep class com.google.gson.examples.android.model.** { *; } #Banner混淆配置 -keep class com.youth.banner.** { *; } # GreenDao混淆配置 #GreenDAO 2: -keep class de.greenrobot.dao.** {*;} -keepclassmembers class * extends de.greenrobot.dao.AbstractDao { public static Java.lang.String TABLENAME; } -keep class **$Properties #GreenDAO 3: -keepclassmembers class * extends org.greenrobot.greendao.AbstractDao { public static java.lang.String TABLENAME; } -keep class **$Properties # If you do not use SQLCipher: -dontwarn org.greenrobot.greendao.database.** # If you do not use Rx: -dontwarn rx.** #百度定位混淆配置 -keep class vi.com.gdi.** { *; } -keep public class com.baidu.** {*;} -keep public class com.mobclick.** {*;} -dontwarn com.baidu.mapapi.utils.* -dontwarn com.baidu.platform.comapi.b.* -dontwarn com.baidu.platform.comapi.map.* #百度地图混淆配置 -keep class com.baidu.** {*;} -keep class vi.com.** {*;} -dontwarn com.baidu.** #高徳地图混淆配置 -dontwarn com.amap.api.** -dontwarn com.a.a.** -dontwarn com.autonavi.** -keep class com.amap.api.** {*;} -keep class com.autonavi.** {*;} -keep class com.a.a.** {*;} #Bugly SDK -dontwarn com.tencent.bugly.** -keep public class com.tencent.bugly.**{*;} -keep class android.support.**{*;} #EventBus混淆配置 #EventBus 2: -keepclassmembers class ** { public void onEvent*(***); } # Only required if you use AsyncExecutor -keepclassmembers class * extends de.greenrobot.event.util.ThrowableFailureEvent { (java.lang.Throwable); } #EventBus 3: -keepattributes *Annotation* -keepclassmembers class ** { @org.greenrobot.eventbus.Subscribe ; } -keep enum org.greenrobot.eventbus.ThreadMode { *; } # Only required if you use AsyncExecutor -keepclassmembers class * extends org.greenrobot.eventbus.util.ThrowableFailureEvent { (java.lang.Throwable); } #友盟分享混淆配置 -dontshrink -dontoptimize -dontwarn com.google.android.maps.** -dontwarn android.webkit.WebView -dontwarn com.umeng.** -dontwarn com.tencent.weibo.sdk.** -dontwarn com.facebook.** -keep public class javax.** -keep public class android.webkit.** -dontwarn android.support.v4.** -keep enum com.facebook.** -keepattributes Exceptions,InnerClasses,Signature -keepattributes *Annotation* -keepattributes SourceFile,LineNumberTable -keep public interface com.facebook.** -keep public interface com.tencent.** -keep public interface com.umeng.socialize.** -keep public interface com.umeng.socialize.sensor.** -keep public interface com.umeng.scrshot.** -keep public class com.umeng.socialize.* {*;} -keep class com.facebook.** -keep class com.facebook.** { *; } -keep class com.umeng.scrshot.** -keep public class com.tencent.** {*;} -keep class com.umeng.socialize.sensor.** -keep class com.umeng.socialize.handler.** -keep class com.umeng.socialize.handler.* -keep class com.umeng.weixin.handler.** -keep class com.umeng.weixin.handler.* -keep class com.umeng.qq.handler.** -keep class com.umeng.qq.handler.* -keep class UMMoreHandler{*;} -keep class com.tencent.mm.sdk.modelmsg.WXMediaMessage {*;} -keep class com.tencent.mm.sdk.modelmsg.** implements com.tencent.mm.sdk.modelmsg.WXMediaMessage$IMediaObject {*;} -keep class im.yixin.sdk.api.YXMessage {*;} -keep class im.yixin.sdk.api.** implements im.yixin.sdk.api.YXMessage$YXMessageData{*;} -keep class com.tencent.mm.sdk.** { *; } -keep class com.tencent.mm.opensdk.** { *; } -keep class com.tencent.wxop.** { *; } -keep class com.tencent.mm.sdk.** { *; } -dontwarn twitter4j.** -keep class twitter4j.** { *; } -keep class com.tencent.** {*;} -dontwarn com.tencent.** -keep class com.kakao.** {*;} -dontwarn com.kakao.** -keep public class com.umeng.com.umeng.soexample.R$*{ public static final int *; } -keep public class com.linkedin.android.mobilesdk.R$*{ public static final int *; } -keepclassmembers enum * { public static **[] values(); public static ** valueOf(java.lang.String); } -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$* {*;} -keep class com.umeng.socialize.impl.ImageImpl {*;} -keep class com.sina.** {*;} -dontwarn com.sina.** -keep class com.alipay.share.sdk.** { *; } -keepnames class * implements android.os.Parcelable { public static final ** CREATOR; } -keep class com.linkedin.** { *; } -keep class com.android.dingtalk.share.ddsharemodule.** { *; } -keepattributes Signature #友盟推送混淆配置 -dontwarn com.umeng.** -dontwarn com.taobao.** -dontwarn anet.channel.** -dontwarn anetwork.channel.** -dontwarn org.android.** -dontwarn org.apache.thrift.** -dontwarn com.xiaomi.** -dontwarn com.huawei.** -dontwarn com.meizu.** -keepattributes *Annotation* -keep class com.taobao.** {*;} -keep class org.android.** {*;} -keep class anet.channel.** {*;} -keep class com.umeng.** {*;} -keep class com.xiaomi.** {*;} -keep class com.huawei.** {*;} -keep class com.meizu.** {*;} -keep class org.apache.thrift.** {*;} -keep class com.alibaba.sdk.android.**{*;} -keep class com.ut.**{*;} -keep class com.ta.**{*;} -keep public class **.R$*{ public static final int *; } #android 混淆打包报错Error java.lang.RuntimeException: Stub!??解决方案 -keep class org.apache.**{*;} -keep class java.net.** { *; } -keep class android.net.** { *; } -keep class com.hln.xqipao.data.** { *; } -keep class com.qpyy.libcommon.bean.** { *; } -keep class com.qpyy.libcommon.event.** { *; } -keep class com.qpyy.libcommon.api.** { *; } -keep class com.qpyy.libcommon.http.** { *; } -keep class com.qpyy.room.bean.** { *; } -keep class com.qpyy.room.api.** { *; } -keep class com.qpyy.module.index.bean.** { *; } -keep class com.qpyy.module.index.api.** { *; } -keep class com.qpyy.module.me.bean.** { *; } -keep class com.qpyy.module.me.api.** { *; } -keep class com.luck.picture.lib.entity.** { *; } -keep class com.qpyy.module_news.bean.** { *; } -keep class com.qpyy.module_news.api.** { *; } #ShareSDK 混淆 -keep class cn.sharesdk.**{*;} -keep class com.sina.**{*;} -keep class **.R$* {*;} -keep class **.R{*;} -keep class com.mob.**{*;} -dontwarn com.mob.** -dontwarn cn.sharesdk.** -dontwarn **.R$* -keep class com.hln.game.grabmarbles.**{*;} -keep class com.alibaba.sdk.android.oss.** { *; } -dontwarn okio.** -dontwarn org.apache.commons.codec.binary.** -keep class com.tencent.mm.opensdk.** { *; } -keep class com.tencent.wxop.** { *; } -keep class com.tencent.mm.sdk.** { *; } # 避免删除代码逻辑 -dontshrink -dontoptimize # 避免混淆 TUIKit -keep class com.tencent.qcloud.** { *; } -keep class com.tencent.imsdk.** { *; } -keep class * implements com.tencent.qcloud.tuicore.interfaces.TUIInitializer {} ######################云刷脸混淆规则 faceverify-BEGIN####################### #### #不混淆内部类 -keepattributes InnerClasses #不混淆jni调用类 -keepclasseswithmembers class *{ native ; } ###################### faceverify-BEGIN ########################### -ignorewarnings -keep public class com.tencent.ytcommon.**{*;} -keep class com.tencent.turingfd.sdk.mfa.TNative$aa { public *; } -keep class com.tencent.turingfd.sdk.mfa.TNative$aa$bb { public *;} -keep class com.tencent.turingcam.** {*;} -keep class com.tencent.turingfd.** {*;} -keep public class com.tencent.youtu.ytagreflectlivecheck.jni.**{*;} -keep public class com.tencent.youtu.ytagreflectlivecheck.YTAGReflectLiveCheckInterface{ public ; } -keep public class com.tencent.youtu.ytposedetect.jni.**{*;} -keep public class com.tencent.youtu.ytposedetect.data.**{*;} -keep public class com.tencent.youtu.liveness.YTFaceTracker{*;} -keep public class com.tencent.youtu.liveness.YTFaceTracker$*{*;} -keep public class com.tencent.cloud.huiyansdkface.facelight.net.*$*{ *; } -keep public class com.tencent.cloud.huiyansdkface.facelight.net.**{ *; } -keep public class com.tencent.cloud.huiyansdkface.facelight.config.cdn.WbUiTips{ *; } #================数据上报混淆规则 start=========================== #实体类 -keep class com.tencent.cloud.huiyansdkface.analytics.EventSender{ *; } -keep class com.tencent.cloud.huiyansdkface.analytics.EventSender$*{ *; } -keep class com.tencent.cloud.huiyansdkface.analytics.WBSAEvent{ *; } -keep class com.tencent.cloud.huiyansdkface.analytics.WBSAParam{ *; } #================数据上报混淆规则 end=========================== #######################faceverify-END############################# ####################### normal混淆规则-BEGIN############################# #不混淆内部类 -keepattributes InnerClasses -keepattributes *Annotation* -keepattributes Signature -keepattributes Exceptions -keep public class com.tencent.cloud.huiyansdkface.normal.net.*$*{ *; } -keep public class com.tencent.cloud.huiyansdkface.normal.net.*{ *; } #bugly -keep class com.tencent.bugly.idasc.**{ *; } #wehttp混淆规则 -dontwarn com.tencent.cloud.huiyansdkface.okio.** -keep class com.tencent.cloud.huiyansdkface.okio.**{ *; } -dontwarn com.tencent.cloud.huiyansdkface.okhttp3.OkHttpClient$Builder ####################### normal混淆规则-END############################# # 保留 BaseModel 和其子类的字段名 -keep class com.xscm.moduleutil.http.BaseModel { *; } -keep class com.xscm.moduleutil.bean.** { *; } # 保留所有作为 API 响应体的类 -keep class com.xscm.moduleutil.bean.**.*Response { *; } # 保留 Gson 使用的字段 -keepclassmembers class * { @com.google.gson.annotations.SerializedName ; } # 避免 Retrofit 接口被混淆 -keep interface com.xscm.moduleutil.http.ApiServer { *; } # 保留 retrofit 相关类 -keep class retrofit2.** { *; } -keep class okhttp3.** { *; } -keep class com.xscm.moduleutil.utils.location.** { *; } -keep class io.agora.**{*;} # 在proguard-rules.pro中添加 -keep class your.package.name.** { public protected *; } # 或者针对特定方法 -keepclassmembers class * { public void displayMessage(); } # 在 proguard-rules.pro 中添加混淆规则 -keep class com.petterp.floatingx.** { *; } -keep class com.petterp.floatingx.* { *; } -dontwarn com.petterp.floatingx.** # 保持MqttBean类不被混淆 -keep class com.xscm.moduleutil.event.MqttBean** {*;} -keepclassmembers class com.xscm.moduleutil.event.MqttBean** { *; } -keep class com.xscm.moduleutil.bean.XLHBean** {*;} -keepclassmembers class com.xscm.moduleutil.bean.XLHBean** { *; } -keep class com.xscm.moduleutil.bean.RedBean** {*;} -keepclassmembers class com.xscm.moduleutil.bean.RedBean** { *; } -keep class com.xscm.moduleutil.bean.HourlyBean** {*;} -keepclassmembers class com.xscm.moduleutil.bean.HourlyBean** { *; } # 保持EventBus相关类不被混淆 -keepclassmembers class * { @org.greenrobot.eventbus.Subscribe ; } -keep enum org.greenrobot.eventbus.ThreadMode { *; }