XuqmGroup-AndroidSDK/sdk-core/consumer-rules.pro
XuqmGroup 6d18af496b fix: 移除库模块 isMinifyEnabled 修复 Duplicate class 冲突
Android 库模块开启 isMinifyEnabled=true 时,R8 各自独立混淆,
将内部类重命名为 a.a / a.b 等短名打进 AAR;多个 AAR 合并到 App
时产生 Duplicate class 冲突。

修复:删除全部 7 个库模块 buildTypes.release 中的 isMinifyEnabled,
混淆由 App 的 R8 统一完成。将 proguard-rules.pro 中的保留规则
(manifest 注册类、反射调用入口、dontwarn)合并进各模块的
consumer-rules.pro 随 AAR 打包。

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-23 14:57:22 +08:00

32 行
1.7 KiB
Prolog

# sdk-core consumer ProGuard rules
# These rules are applied to apps that depend on sdk-core.
# ── Public API entry points ───────────────────────────────────────────────────
-keep class com.xuqm.sdk.XuqmSDK { *; }
-keep class com.xuqm.sdk.XuqmLoginSession { *; }
-keep class com.xuqm.sdk.core.SDKConfig { *; }
-keep class com.xuqm.sdk.core.LogLevel { *; }
-keep class com.xuqm.sdk.core.ServiceEndpoints { *; }
-keep class com.xuqm.sdk.core.ServiceEndpointRegistry { *; }
# ── File SDK ──────────────────────────────────────────────────────────────────
-keep class com.xuqm.sdk.file.FileSDK { *; }
-keep class com.xuqm.sdk.file.FileUploadResult { *; }
-keep class com.xuqm.sdk.file.ApiResponse { *; }
-keepclassmembers class com.xuqm.sdk.file.ApiResponse { *; }
# ── Gson: preserve field names on all SDK model classes ──────────────────────
-keepclassmembers class com.xuqm.sdk.** {
@com.google.gson.annotations.SerializedName <fields>;
}
# ── Kotlinx serialization ─────────────────────────────────────────────────────
-keepclassmembers @kotlinx.serialization.Serializable class ** { *; }
-keep class kotlinx.serialization.** { *; }
# ── Retrofit / OkHttp (belt-and-suspenders; they ship their own rules) ────────
-keepattributes Signature
-keepattributes *Annotation*
-keepattributes Exceptions
-keepattributes InnerClasses, EnclosingMethod