# ============================================================================== # 基础配置 (Basic Configuration) # ============================================================================== # 代码优化次数 -optimizationpasses 5 # 不使用混合大小写类名 -dontusemixedcaseclassnames # 不忽略非公共库类 -dontskipnonpubliclibraryclasses # 打印混淆详情 -verbose # 忽略警告 -ignorewarnings # 不进行预校验 -dontpreverify # ============================================================================== # 属性保留 (Attributes) # ============================================================================== # 保留泛型签名(避免JSON解析、Kotlin反射等问题) -keepattributes Signature # 保留注解 -keepattributes *Annotation* # 保留异常信息 -keepattributes Exceptions # 保留内部类信息 -keepattributes InnerClasses # 保留封闭方法信息 -keepattributes EnclosingMethod # 保留源文件和行号(用于Crashlytics堆栈追踪) -keepattributes SourceFile,LineNumberTable # 如果需要隐藏源文件名,取消注释下面这行 #-renamesourcefileattribute SourceFile # ============================================================================== # Android 组件 (Android Components) # ============================================================================== -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 android.view.View # 保持 Native 方法 -keepclasseswithmembernames class * { native ; } # 保持自定义 View 的构造方法 -keepclasseswithmembers class * { public (android.content.Context, android.util.AttributeSet); public (android.content.Context, android.util.AttributeSet, int); } # 保持 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; private void writeObject(java.io.ObjectOutputStream); private void readObject(java.io.ObjectInputStream); java.lang.Object writeReplace(); java.lang.Object readResolve(); } # 保持枚举 -keepclassmembers enum * { public static **[] values(); public static ** valueOf(java.lang.String); } # 保持 R 文件资源引用 -keepclassmembers class **.R$* { public static ; public static final int *; } # ============================================================================== # Kotlin Coroutines # ============================================================================== -keep class kotlinx.coroutines.** { *; } -keepclassmembers class kotlinx.coroutines.** { volatile ; } # 如果使用 AtomicFU -dontwarn java.util.concurrent.atomic.Atomic* # ============================================================================== # Kotlin Serialization # ============================================================================== -keepattributes *Annotation*, InnerClasses -dontnote kotlinx.serialization.SerializationKt -keep,allowobfuscation,allowshrinking class kotlinx.serialization.* { *; } -keep class * implements kotlinx.serialization.KSerializer { *; } -keepclassmembers class * { @kotlinx.serialization.Serializable (...); @kotlinx.serialization.Serializable ; } -keep @kotlinx.serialization.Serializable class * { *; } # ============================================================================== # 项目特定 (Project Specific) # ============================================================================== # 实体类/Bean (防止 JSON 解析失败) -keep class com.gamedog.vididin.beans.** { *; } -keep class com.gamedog.vididin.manager.taskbeans.** { *; } # 任务配置Bean -keep class com.gamedog.vididin.main.fragments.task.** { *; } # 路由相关 -keep class com.gamedog.vididin.router.** { *; } # App 入口 -keep class com.viddin.videos.free.VidiDinApp { *; } # ============================================================================== # 第三方库 (Third Party Libraries) # ============================================================================== # ----------------- Hilt / Dagger ----------------- -keep class dagger.hilt.internal.aggregatedroot.** { *; } -keep class hilt_aggregated_deps.** { *; } -keep class * extends android.app.Application { @dagger.hilt.android.AndroidEntryPoint (); } -keepclasseswithmembers class * { @dagger.hilt.android.AndroidEntryPoint ; } -keepclasseswithmembers class * { @dagger.hilt.android.AndroidEntryPoint ; } -keep @dagger.Module class * -keep @dagger.hilt.InstallIn class * -keep @dagger.hilt.EntryPoint class * -keepclassmembers @dagger.hilt.EntryPoint class * { *; } -keep @dagger.hilt.components.SingletonComponent class * -keepclassmembers @dagger.hilt.components.SingletonComponent class * { *; } -keep class * extends dagger.internal.Binding { *; } -keep class * extends dagger.internal.Factory { *; } -keep class * implements dagger.MembersInjector { *; } -keep class * implements dagger.Lazy { *; } # ----------------- Gson ----------------- -keep class com.google.gson.** { *; } -keep class sun.misc.Unsafe { *; } -keep class com.google.gson.stream.** { *; } -keepclassmembers class * { @com.google.gson.annotations.SerializedName ; } -keep class * implements com.google.gson.TypeAdapterFactory -keep class * implements com.google.gson.JsonSerializer -keep class * implements com.google.gson.JsonDeserializer # ----------------- OkHttp3 ----------------- -dontwarn okhttp3.** -keep class okhttp3.** { *; } -keep interface okhttp3.** { *; } -dontwarn okio.** # ----------------- Retrofit2 ----------------- -dontwarn retrofit2.** -keep class retrofit2.** { *; } # ----------------- Glide ----------------- -keep public class * implements com.bumptech.glide.module.GlideModule -keep public enum com.bumptech.glide.load.resource.bitmap.ImageHeaderParser$** { **[] $VALUES; public *; } -keep class com.bumptech.glide.** { *; } # Glide Transformations -keep class jp.wasabeef.glide.** { *; } # 相关依赖 -keep class com.davemorrissey.** { *; } -keep class com.filippudak.** { *; } # ----------------- Lottie ----------------- -keep class com.airbnb.lottie.** { *; } # ----------------- Room ----------------- -dontwarn androidx.room.paging.** # ----------------- Tencent X5 / Security ----------------- -keep class com.tencent.** { *; } -keep class Decoder.** { *; } -keep class org.bouncycastle.** { *; } # ----------------- Alibaba FastJson ----------------- -dontwarn com.alibaba.fastjson.** -keep class com.alibaba.fastjson.** { *; } # ----------------- JZlib / Apache / Others ----------------- -dontwarn com.jcraft.jzlib.** -keep class com.jcraft.jzlib.** { *; } -dontwarn org.apache.** -keep class org.apache.** { *; } -dontwarn com.loopj.** -keep class com.loopj.** { *; } -dontwarn org.jivesoftware.smack.** -dontwarn org.xbill.** -keep class org.xbill.** { *; } # ============================================================================== # 结束 (End) # ==============================================================================