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 方法数超限。
This commit is contained in:
zhaogd
2026-07-28 11:36:03 +08:00
parent b1284bfbf9
commit eee8203a68
2 changed files with 10 additions and 10 deletions

View File

@@ -1,3 +1,6 @@
# 强制保留在 main dex,避免 Android 4.x Dalvik multidex 加载失败 # Android 4.x Dalvik multidex 兼容配置
-keep class androidx.startup.** { *; } # InitializationProvider 已从 manifest 移除,仅需保留 App 自身启动类
-keep class com.google.android.exoplayer2.** { *; }
# App 自身核心类
-keep class com.pukka.mediaapp.PartnerApp { *; }
-keep class com.pukka.mediaapp.ui.PartnerLaunchActivity { *; }

View File

@@ -31,16 +31,13 @@
android:theme="@style/Theme.PartnerTest" android:theme="@style/Theme.PartnerTest"
android:usesCleartextTraffic="true"> android:usesCleartextTraffic="true">
<!-- 移除 androidx.startup 自动初始化,避免 Android 4.x Dalvik multidex 加载失败 --> <!-- 完全移除 androidx.startup InitializationProvider -->
<!-- Android 4.x Dalvik multidex 环境下,Provider 启动时无法加载 secondary dex 中的初始化类 -->
<!-- App 手动初始化所有组件,不依赖 androidx.startup 自动初始化 -->
<provider <provider
android:name="androidx.startup.InitializationProvider" android:name="androidx.startup.InitializationProvider"
android:authorities="${applicationId}.androidx-startup" android:authorities="${applicationId}.androidx-startup"
android:exported="false"
tools:node="merge">
<meta-data
android:name="androidx.lifecycle.ProcessLifecycleInitializer"
tools:node="remove" /> tools:node="remove" />
</provider>
<!-- 页面1: 启动页/输入页 - 支持 EPG Intent 传参启动 --> <!-- 页面1: 启动页/输入页 - 支持 EPG Intent 传参启动 -->
<activity <activity