Commit Graph

3 Commits

Author SHA1 Message Date
zhaogd
37738504b9 fix: Android 4.2 兼容性修复 - 降级第三方库 + 移除 ExoPlayer + multidex 配置
1. OkHttp 3.14.9 -> 3.12.0(Android10Platform 引用 Android 10+ API 导致 VerifyError)
2. Gson 2.10.1 -> 2.8.6(ReflectionHelper 引用 Java 9+ API 导致 VerifyError)
3. Retrofit 2.9.0 -> 2.6.0(与客户环境一致,配合 OkHttp 3.12.0)
4. Coroutines 1.7.3 -> 1.6.4(1.7+ 要求 minSdk 21)
5. 移除 ExoPlayer 2.19.1,改用系统原生 MediaPlayer + SurfaceView
6. 主题 MaterialComponents -> AppCompat(避免 MaterialComponentsViewInflater multidex 问题)
7. multidex-config.pro 新增 kotlinx.coroutines.** 和 retrofit2.** 到主 dex
8. 新增 Android 4.2 兼容性改动文档
2026-07-28 19:47:57 +08:00
zhaogd
eee8203a68 fix: 完全移除 androidx.startup InitializationProvider
Android 4.x Dalvik multidex 下,InitializationProvider 启动时尝试加载
secondary dex 中的多个初始化类(ProcessLifecycleInitializer、
EmojiCompatInitializer 等),逐个移除不可靠。

直接用 tools:node="remove" 移除整个 Provider,App 手动初始化所有组件。
精简 multidex-config.pro 仅保留 App 启动类,避免 main dex 方法数超限。
2026-07-28 11:36:03 +08:00
zhaogd
2d0c9d4602 fix: 修复 Android 4.x Dalvik multidex 导致的 ClassNotFoundException
androidx.startup.InitializationProvider 在 Application 启动时被加载,
但被分配到 secondary dex 导致 Dalvik VM 找不到该类。
通过 multiDexKeepProguard 强制保留在 main dex 中。
2026-07-28 11:23:33 +08:00