XuqmGroup-AndroidSDK/sdk-core/proguard-rules.pro
XuqmGroup aac4bd7baa feat(proguard): 各模块开启 R8 混淆,添加 proguard-rules.pro 保留公开 API
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-23 13:35:10 +08:00

30 行
1.3 KiB
Prolog

# ── Public API entry points ───────────────────────────────────────────────────
-keep public class com.xuqm.sdk.XuqmSDK { public *; }
-keep public class com.xuqm.sdk.XuqmLoginSession { public *; }
-keep public class com.xuqm.sdk.XuqmUserInfo { public *; }
-keep public class com.xuqm.sdk.core.** { public *; }
-keep public class com.xuqm.sdk.file.FileSDK { public *; }
-keep public class com.xuqm.sdk.file.FileUploadResult { public *; }
# Compose UI components referenced directly by consumers
-keep public class com.xuqm.sdk.ui.** { public *; }
# ContentProviders: class names referenced in AndroidManifest must not be renamed
-keep class com.xuqm.sdk.internal.XuqmInitializerProvider
-keep class com.xuqm.sdk.internal.XuqmMergedProvider
# Kotlin & Annotation metadata
-keepattributes *Annotation*, Signature, InnerClasses, EnclosingMethod
# Kotlinx serialization
-keepclassmembers @kotlinx.serialization.Serializable class ** { *; }
-keep class kotlinx.serialization.** { *; }
# Gson field names used in network models
-keepclassmembers class com.xuqm.sdk.** {
@com.google.gson.annotations.SerializedName <fields>;
}
# Retrofit: keep service interfaces
-keep,allowobfuscation interface com.xuqm.sdk.network.** { *; }