# ── 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 ; } # Retrofit: keep service interfaces -keep,allowobfuscation interface com.xuqm.sdk.network.** { *; }