-dontwarn java.lang.invoke.StringConcatFactory # 设置混淆的压缩比率 0 ~ 7 -optimizationpasses 5 # 混淆采用的算法 -optimizations !code/simplification/cast,!field/*,!class/merging/* # 保留行号用于调试 -keepattributes SourceFile,LineNumberTable -renamesourcefileattribute SourceFile # 保留基本属性 -keepattributes Signature -keepattributes *Annotation* -keepattributes Exceptions -keepattributes InnerClasses -dontwarn com.github.luben.zstd.BufferPool -dontwarn com.github.luben.zstd.ZstdInputStream -dontwarn com.github.luben.zstd.ZstdOutputStream -dontwarn org.brotli.dec.BrotliInputStream -dontwarn org.objectweb.asm.AnnotationVisitor -dontwarn org.objectweb.asm.Attribute -dontwarn org.objectweb.asm.ClassReader -dontwarn org.objectweb.asm.ClassVisitor -dontwarn org.objectweb.asm.FieldVisitor -dontwarn org.objectweb.asm.Label -dontwarn org.objectweb.asm.MethodVisitor -dontwarn org.objectweb.asm.Type # 保留R文件 -keepclassmembers class **.R$* { public static ; } # 保留servicing模块中的所有model类 -keep class com.za.bean.** { *; } -keep class com.za.bean.db.** { *; } -keep class com.za.bean.request.** { *; } # 保留servicing模块中的所有接口 -keep interface com.za.servicing.** { *; } -keep interface com.za.net.** { *; } # 保留servicing模块中的所有枚举 -keepclassmembers enum com.za.** { *; } # 保留Room数据库相关类 -keep class com.za.room.** { *; } -keep class com.za.room.db.** { *; } -keep class * extends androidx.room.RoomDatabase -keep @androidx.room.Entity class * -keep @androidx.room.Dao interface * # 保留Parcelable实现类 -keep class * implements android.os.Parcelable { public static final android.os.Parcelable$Creator *; } # 保留Serializable实现类 -keepnames class * implements java.io.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 * 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, java.lang.String); } # 保留native方法 -keepclasseswithmembernames class * { native ; } # 保留View的getter和setter -keepclassmembers public class * extends android.view.View { void set*(***); *** get*(); } # CameraX相关 -keep class androidx.camera.** { *; } -dontwarn androidx.camera.** # Coil图片加载库 -keep class coil.** { *; } -dontwarn coil.** # PermissionX权限库 -keep class com.permissionx.guolindev.** { *; } # 高德地图相关 -keep class com.amap.api.**{*;} -keep class com.autonavi.**{*;} -keep class com.loc.**{*;} -dontwarn com.amap.api.** -dontwarn com.autonavi.** -dontwarn com.loc.** # JPush相关 -dontoptimize -dontwarn cn.jpush.** -keep class cn.jpush.** { *; } -dontwarn cn.jcore.** -keep class cn.jcore.** { *; } # Retrofit网络库 -keepattributes Signature -keepattributes Exceptions -dontwarn retrofit2.** -keep class retrofit2.** { *; } -keepclasseswithmembers class * { @retrofit2.http.* ; } # OkHttp -dontwarn okhttp3.** -dontwarn okio.** -keep class okhttp3.** { *; } -keep class okio.** { *; } # RxJava -dontwarn io.reactivex.** -keep class io.reactivex.** { *; } -dontwarn sun.misc.** -keepclassmembers class rx.internal.util.unsafe.*ArrayQueue*Field* { long producerIndex; long consumerIndex; } # BlankJ工具库 -dontwarn com.blankj.utilcode.** -keep class com.blankj.utilcode.** { *; } -keepclassmembers class * { @com.blankj.utilcode.util.BusUtils$Bus ; } -keep public class * extends com.blankj.utilcode.util.ApiUtils$BaseApi -keep,allowobfuscation @interface com.blankj.utilcode.util.ApiUtils$Api -keep @com.blankj.utilcode.util.ApiUtils$Api class * #mmkv -renamesourcefileattribute SourceFile -keepattributes Exceptions,InnerClasses,Signature,Deprecated,SourceFile,LineNumberTable,EnclosingMethod -keep public class * { public protected *; } # 保留所有类的方法名 -keepclassmembernames class * { java.lang.Class class$(java.lang.String); java.lang.Class class$(java.lang.String, boolean); } # 保留枚举类中的特殊静态方法 -keepclassmembers class * extends java.lang.Enum { public static **[] values(); public static ** valueOf(java.lang.String); } # MQTT相关 -keep class org.eclipse.paho.** { *; } -dontwarn org.eclipse.paho.** # Gson -keep class com.google.gson.** { *; } -keepattributes Signature -keepattributes *Annotation* -keep class * implements com.google.gson.TypeAdapterFactory -keep class * implements com.google.gson.JsonSerializer -keep class * implements com.google.gson.JsonDeserializer # Kotlin相关 -keep class kotlin.** { *; } -keep class kotlin.Metadata { *; } -dontwarn kotlin.** -keepclassmembers class **$WhenMappings { ; } -keepclassmembers class kotlin.Metadata { public ; } # Kotlin协程 -keepclassmembernames class kotlinx.** { volatile ; } -keepclassmembers class * { @kotlin.coroutines.jvm.internal.DebugMetadata *; @kotlin.coroutines.jvm.internal.SuspendLambda *; } -keep class kotlinx.coroutines.** { *; } -dontwarn kotlinx.coroutines.** # Kotlin反射 -keep class kotlin.reflect.** { *; } -dontwarn kotlin.reflect.** # 保留Kotlin数据类 -keepclassmembers class ** { public ** component*(); public ** copy(...); } # # 保留Kotlin数据类的toString/hashCode/equals方法 -keepclassmembers class ** { public java.lang.String toString(); public int hashCode(); public boolean equals(java.lang.Object); } # 保留Compose相关 -keep class androidx.compose.** { *; } -dontwarn androidx.compose.** # 保留自定义签名相关类 -keep class com.za.signature.** { *; } # 保留Face Detection相关 -keep class com.google.mlkit.** { *; } -dontwarn com.google.mlkit.** # 保留ZXing相关 -keep class com.google.zxing.** { *; } -dontwarn com.google.zxing.** # 保留Glide相关 -keep public class * implements com.bumptech.glide.module.GlideModule -keep class * extends com.bumptech.glide.module.AppGlideModule { (...); } -keep public enum com.bumptech.glide.load.ImageHeaderParser$** { **[] $VALUES; public *; } -keep class com.bumptech.glide.load.data.ParcelFileDescriptorRewinder$InternalRewinder { *** rewind(); } # 保留FastJSON相关 -keep class com.alibaba.fastjson.** { *; } -dontwarn com.alibaba.fastjson.** # 保留Bugly相关 -keep class com.tencent.bugly.** { *; } -dontwarn com.tencent.bugly.** # # 保留自定义UI组件 -keep class com.za.ui.** { *; } -keep class com.za.base.** { *; } # 保留Java 8 Lambda表达式 -dontwarn java.lang.invoke.StringConcatFactory