You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android AAB架构下动态特性崩溃时如何维持Base App持续存活?

解决动态特性模块崩溃时Base App存活的方案

要实现动态特性模块崩溃后Base App(桌面)继续存活并自动返回,核心思路是让动态特性模块运行在独立进程,避免模块崩溃牵连主进程,再配合崩溃后的跳转逻辑回到Base App桌面。以下是具体实现步骤:

1. 为动态特性模块配置独立进程

在动态特性模块的AndroidManifest.xml中,给所有入口Activity指定独立进程。这样模块崩溃只会杀死自身进程,不会影响Base App所在的主进程:

<activity
    android:name=".FeatureMainActivity"
    android:process=":feature_process">
    <!-- 保持原有的intent-filter配置 -->
</activity>

进程名使用:feature_process这种私有命名,避免与其他应用进程冲突。

2. 捕获模块崩溃并主动返回Base App

在动态特性模块的入口Activity(或模块专属的Application类)中设置自定义异常处理器,在崩溃时完成日志记录、资源清理,然后主动跳转到Base App的桌面页面,最后结束当前进程:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    // 设置未捕获异常处理器
    Thread.setDefaultUncaughtExceptionHandler((thread, throwable) -> {
        // 记录崩溃日志(按需实现)
        Log.e("FeatureCrash", "Dynamic feature module crashed", throwable);
        // 跳转到Base App的桌面Activity
        Intent backToDesktop = new Intent(getApplicationContext(), BaseDesktopActivity.class);
        // 确保跳转后清除模块的Activity栈,直接回到桌面
        backToDesktop.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP);
        startActivity(backToDesktop);
        // 结束当前模块进程
        android.os.Process.killProcess(android.os.Process.myPid());
        System.exit(1);
    });
    // 其他初始化逻辑
}

3. 优化Base App的桌面页面特性

针对IoT场景的唯一应用需求,给Base App的桌面Activity设置singleTask启动模式,确保每次返回都是同一个实例,避免重复创建:

<activity
    android:name=".BaseDesktopActivity"
    android:launchMode="singleTask">
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.HOME" />
        <category android:name="android.intent.category.DEFAULT" />
    </intent-filter>
</activity>

同时可以根据IoT设备的系统特性,申请必要的进程保活权限(如低内存豁免、自启动权限),确保Base App不会被系统意外回收。

4. 验证效果

在动态特性模块中主动触发崩溃(例如throw new RuntimeException("Test crash")),验证以下两点:

  • Base App的桌面页面正常显示,主进程未被杀死
  • 动态特性模块的进程被终止,不会影响Base App运行

内容的提问来源于stack exchange,提问作者Li Zhenxin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 13:47:52