# JS interface 方法名是跨语言运行时契约(H5 调 window.HecongAppBridge.onSdkEvent),混淆即桥断
-keepclassmembers class com.hecong.chatsdk.** {
    @android.webkit.JavascriptInterface <methods>;
}

# ---- 比租户 compileSdk 新的平台类(租户工程构建环境下限,app-sdk-plan.md §3.2)----
# 租户工程 compileSdk < 33 时,它的 android.jar 里没有 Android 13 返回机制的这两个类,
# 而 R8 默认把「缺类」当错误 —— 不加这两行,compileSdk 30 的租户开混淆打 release 当场失败
# (2026-09-11 敌意宿主下限档实测抓出)。代码只在 SDK_INT >= 33 的设备上执行,运行时系统必然有。
-dontwarn android.window.OnBackInvokedCallback
-dontwarn android.window.OnBackInvokedDispatcher
# 实现类原样保留:R8 看不见父接口,就不知道 onBackInvoked 是系统回调,可能当无用方法删掉
# → 13+ 设备上按返回键 AbstractMethodError。具名实现类见 HecongBackNav 注释。
-keep class com.hecong.chatsdk.HecongBackNav$* { *; }

# ---- 比租户 kotlin-stdlib 新的类(租户 Kotlin 下限,app-sdk-plan.md §3.2)----
# 壳用新版 Kotlin 编译器编,它会给内联函数打 @SourceDebugExtension 注解(stdlib 1.8 才有);
# 租户工程的 stdlib 是 1.6/1.7 时,R8 报缺类、开混淆打 release 当场失败
# (2026-09-14 敌意宿主实测:Java 宿主经我们 POM 拿到 stdlib 1.6.21)。
# 只是调试行号用的注解,运行时缺了 ART 直接忽略,不影响任何功能。
-dontwarn kotlin.jvm.internal.SourceDebugExtension
