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:
@@ -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 { *; }
|
||||||
|
|||||||
@@ -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="remove" />
|
||||||
tools:node="merge">
|
|
||||||
<meta-data
|
|
||||||
android:name="androidx.lifecycle.ProcessLifecycleInitializer"
|
|
||||||
tools:node="remove" />
|
|
||||||
</provider>
|
|
||||||
|
|
||||||
<!-- 页面1: 启动页/输入页 - 支持 EPG Intent 传参启动 -->
|
<!-- 页面1: 启动页/输入页 - 支持 EPG Intent 传参启动 -->
|
||||||
<activity
|
<activity
|
||||||
|
|||||||
Reference in New Issue
Block a user