# 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 com.github.gzuliyujiang.oaid.** -keep class com.github.gzuliyujiang.oaid.** { *; } #统一认证 -dontwarn com.anhui.police.auth.** -keep class com.anhui.police.auth.** { *; } #应用中心 -dontwarn com.anhui.police.market.sdk.** -keep class com.anhui.police.market.** { *; } #统一服务组件 -dontwarn com.ruansee.macall.unifyservemodulesdk.** -keep class com.ruansee.macall.unifyservemodulesdk.** { *; } #基类 -dontwarn com.rs.macall.androidx.basemodel.** -keep class com.rs.macall.androidx.basemodel.** { *; } #Base64编码 -dontwarn com.base.code.binary.** -keep class com.base.code.binary.** { *; } #加载动画 -dontwarn com.wang.avi.** -keep class com.wang.avi.** { *; } #广告ID -dontwarn com.github.gzuliyujiang.oaid.** -keep class com.github.gzuliyujiang.oaid.** { *; } -dontwarn repeackage.com.** -keep class repeackage.com.** { *; } -keep public class * extends androidx.fragment.app.FragmentActivity -keep public class * extends android.app.Application -keep public class * extends androidx.core.content.FileProvider -keep public class * extends android.app.Service -keep public class * extends android.app.Activity -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 android.view.View -keep class android.support.** {*;} -dontwarn java.util.concurrent.Flow* -keep public class com.ycgis.macall.personalcenter.p.app.CrashHandler{*;} -keep public class com.ycgis.macall.personalcenter.p.app.RuanseeApplication{*;} -keep public class com.ycgis.macall.personalcenter.p.app.MyAppGlideModule{*;} -keep public class com.ycgis.macall.personalcenter.p.app.UserData{*;} -keep public class com.ycgis.macall.personalcenter.p.app.AppCache{*;} -keep public class com.ycgis.macall.personalcenter.p.callback.BaseRequestCallback{*;} -keep public class com.ycgis.macall.personalcenter.p.callback.RequestCallback{*;} -keep public class com.ycgis.macall.personalcenter.p.callback.WebActivityCallback{*;} -keep public class com.ycgis.macall.personalcenter.p.presenter.**{*;} -keep public class com.ycgis.macall.personalcenter.p.request.interceptors.HttpLoggingInterceptor{*;} -keep public class com.ycgis.macall.personalcenter.p.request.ApiModel{*;} -keep public class com.ycgis.macall.personalcenter.p.request.HttpErrorHandler{*;} -keep public class com.ycgis.macall.personalcenter.p.request.RetrofitApi{*;} -keep public class com.ycgis.macall.personalcenter.p.request.RetrofitService{*;} -keep public class com.ycgis.macall.personalcenter.p.request.UploadProgressResponsBody{*;} -keep public class com.ycgis.macall.personalcenter.m.adapterbean.**{*;} -keep public class com.ycgis.macall.personalcenter.m.datamodel.PrintModel{*;} -keep public class com.ycgis.macall.personalcenter.m.event.MessageEvent{*;} -keep public class com.ycgis.macall.personalcenter.m.enumbean.**{*;} -keep public class com.ycgis.macall.personalcenter.m.provider.**{*;} -keep public class com.ycgis.macall.personalcenter.m.requestbean.**{*;} -keep public class com.ycgis.macall.personalcenter.v.activity.**{ public *;} -keep public class com.ycgis.macall.personalcenter.v.adapter.**{ public *;} -keep public class com.ycgis.macall.personalcenter.v.fragment.**{ public *;} -keep public class com.ycgis.macall.personalcenter.v.custom.**{ public *;} -keep public class com.ycgis.macall.personalcenter.v.photoview.**{*;} -keep public class com.ycgis.macall.personalcenter.util.ReadDeviceInfo{*;} -keep public class com.ycgis.macall.personalcenter.util.AhdsAddressUtils{*;} -keep public class com.ycgis.macall.personalcenter.util.FileUtils{ public *;} -keep public class com.ycgis.macall.personalcenter.util.IdcardUtils{ public *;} -keep public class com.ycgis.macall.personalcenter.util.BluetoothManage{*;} -keep public class com.ycgis.macall.personalcenter.util.JiaMi{*;} -keep public class com.ycgis.macall.personalcenter.util.ImageOptimizationUtil{*;} -keep public class com.ycgis.macall.personalcenter.util.IPAddressUtils{*;} -keep public class com.ycgis.macall.personalcenter.util.LocationGPSManage{ public *;} -keep public class com.ycgis.macall.personalcenter.util.InsertAppUtils{ public *;} -keep public class com.ycgis.macall.personalcenter.util.NotificationUtils{ public *;} -keep public class com.ycgis.macall.personalcenter.util.ToThirdPartyAppUtils{ public *;} -keep public class com.ycgis.macall.personalcenter.util.UriUtils{ public *;} -keep public class com.ycgis.macall.personalcenter.util.PhoneValidateUtils{*;} -keep public class com.ycgis.macall.personalcenter.util.ParamMap{*;} -keep public class com.ycgis.zpSDK.*{*;} #-keep public class com.ycgis.macall.personalcenter.v.**{ # public *; #} -keepclassmembers class com.ycgis.macall.personalcenter.v.activity.OpenAppActivity$AndroidMethodInterface{ *; } -keepclassmembers class * extends androidx.fragment.app.FragmentActivity{ public void *(android.view.View); } -keepclassmembers enum * { *; } -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); } -keepclasseswithmembers class * { public (android.content.Context, android.util.AttributeSet); public (android.content.Context, android.util.AttributeSet, int); } -keep class **.R$* { *; } -keepclassmembers class * { void *(**On*Event); } #OkHttp -dontwarn okhttp3.** -keep class okhttp3.**{*;} -keep interface okhttp3.**{*;} #gson -dontwarn com.google.gson.** -keep class com.google.gson.** { *;} #fastjson #-keep class com.alibaba.fastjson.** { *; } #-keep class com.alibaba.fastjson.support.** { *; } #EVENT -keep class org.greenrobot.eventbus.** { *; } #luban压缩 -keep class top.zibin.luban.**{*;} #RxJava -dontwarn sun.misc.** -keepclassmembers class rx.internal.util.unsafe.*ArrayQueue*Field* { long producerIndex; long consumerIndex; } -dontwarn io.reactivex.android.** -keepclassmembers class io.reactivex.internal.util.unsafe.*ArrayQueue*Field* { long producerIndex; long consumerIndex; } -dontwarn java.lang.invoke.* #retrofit -dontwarn retrofit2.** -keep class retrofit2.** { *; } -keepattributes Signature -keepattributes Exceptions -dontwarn com.squareup.** -dontwarn okio.** -keep public class org.codehaus.* { *; } -keep public class java.nio.* { *; } -dontwarn butterknife.internal.** -keep class **$$ViewInjector { *; } #Glide -keep public class * implements com.bumptech.glide.module.GlideModule -keep public class * implements com.bumptech.glide.module.AppGlideModule -keep public class * implements com.bumptech.glide.load.ImageHeaderParser -keep public enum com.bumptech.glide.load.ImageHeaderParser$*{ **[] $VALUES; public *; } -dontwarn com.bumptech.glide.load.resource.bitmap.VideoDecoder -dontwarn me.iwf.photopicker.adapter.** -keep public class cn.jzvd.JZMediaSystem {*; } -keep class tv.danmaku.ijk.media.player.** {*; } -dontwarn tv.danmaku.ijk.media.player.* -keep interface tv.danmaku.ijk.media.player.** { *; } #Agentweb -keep class com.just.agentweb.** {*;} -keep class com.download.** {*;} -dontwarn com.just.agentweb.** -keepclassmembers class **.R$* { public static ; public static final int *; } -keepclasseswithmembernames class * { # 保持 native 方法不被混淆 native ; } -keepclasseswithmembers class * { # 保持自定义控件类不被混淆 public (android.content.Context, android.util.AttributeSet); } -keepclasseswithmembers class * {# 保持自定义控件类不被混淆 public (android.content.Context, android.util.AttributeSet, int); } -keepclassmembers class * extends android.app.Activity { # 保持自定义控件类不被混淆 public void *(android.view.View); } -keepclassmembers enum * { # 保持枚举 enum 类不被混淆 public static **[] values(); public static ** valueOf(java.lang.String); } -keep class * implements android.os.Parcelable { # 保持 Parcelable 不被混淆 public static final android.os.Parcelable$Creator *; } -keep public class * extends android.view.View { public (android.content.Context); public (android.content.Context, android.util.AttributeSet); public (android.content.Context, android.util.AttributeSet, int); public void set*(...); } -keepclassmembers public class * extends android.view.View { void set*(***); *** get*(); } #Rxjava RxAndroid -dontwarn rx.* -dontwarn sun.misc.** -keepclassmembers class rx.internal.util.unsafe.*ArrayQuene*Field*{ long producerIndex; long consumerIndex; } #忽略警告 -ignorewarnings -keep class javax.ws.rs.** { *; } -dontwarn com.alibaba.fastjson.** -keep class com.alibaba.fastjson.** { *; } #apk 包内所有 class 的内部结构 #-dump class_files.txt #未混淆的类和成员 #-printseeds seeds.txt #列出从 apk 中删除的代码 #-printusage unused.txt #混淆前后的映射 #-printmapping mapping.txt #fastjson 可以混淆也可以不混淆 #-keep class javax.ws.rs.** { *; } #-dontwarn com.alibaba.fastjson.** #-keep class com.alibaba.fastjson.** { *; } -keepclassmembers class * implements java.io.Serializable { static final long serialVersionUID; private 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(); public ; } -keepattributes Signature