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

40 行
1.9 KiB
Prolog

# sdk-push consumer ProGuard rules
# ── Public API entry point ────────────────────────────────────────────────────
-keep class com.xuqm.sdk.push.PushSDK { *; }
# ── Model classes ─────────────────────────────────────────────────────────────
-keep class com.xuqm.sdk.push.model.PushVendor { *; }
-keep class com.xuqm.sdk.push.model.PushRegistrationSnapshot { *; }
# ── Firebase Messaging Service Android resolves it by class name ────────────
-keep class com.xuqm.sdk.push.fcm.XuqmFirebaseMessagingService { *; }
-keep class com.xuqm.sdk.push.huawei.XuqmHuaweiPushService { *; }
-keep class com.xuqm.sdk.push.honor.XuqmHonorPushService { *; }
-keep class com.xuqm.sdk.push.vivo.XuqmVivoPushReceiver { *; }
-keep class com.xuqm.sdk.push.xiaomi.XuqmXiaomiPushReceiver { *; }
# ── Vendor push services instantiated via reflection inside PushSDK ─────────
-keep class com.xuqm.sdk.push.vendor.** { *; }
# ── Enum values used as strings ───────────────────────────────────────────────
-keepclassmembers enum com.xuqm.sdk.push.model.PushVendor {
public static **[] values();
public static ** valueOf(java.lang.String);
}
-keepattributes Signature
-keepattributes *Annotation*
-keepattributes Exceptions
-keepattributes InnerClasses, EnclosingMethod
# ── Optional deps (compileOnly) suppress R8 missing-class warnings ──────────
-dontwarn com.google.android.gms.**
-dontwarn com.google.firebase.**
-dontwarn com.huawei.**
-dontwarn com.hihonor.**
-dontwarn io.github.hebeiliang.**
-dontwarn com.umeng.**
-dontwarn com.heytap.**
-dontwarn com.vivo.**