XuqmGroup-AndroidSDK/sdk-license/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

26 行
1.5 KiB
Prolog

# sdk-license consumer ProGuard rules
# ── Public API entry points ───────────────────────────────────────────────────
-keep class com.xuqm.sdk.license.LicenseSDK { *; }
-keep class com.xuqm.sdk.license.LicenseConfig { *; }
-keep class com.xuqm.sdk.license.LicenseResult { *; }
-keep class com.xuqm.sdk.license.LicenseStatus { *; }
-keep class com.xuqm.sdk.license.model.** { *; }
# ── Gson: preserve field names on all SDK model classes ──────────────────────
-keepclassmembers class com.xuqm.sdk.license.** {
@com.google.gson.annotations.SerializedName <fields>;
}
# ContentProvider: class name referenced in AndroidManifest must not be renamed
-keep class com.xuqm.sdk.license.internal.LicenseInitializerProvider
# ── Kotlinx serialization ─────────────────────────────────────────────────────
-keepclassmembers @kotlinx.serialization.Serializable class ** { *; }
-keep class kotlinx.serialization.** { *; }
# ── Retrofit / OkHttp ────────────────────────────────────────────────────────
-keepattributes Signature
-keepattributes *Annotation*
-keepattributes InnerClasses, EnclosingMethod