工作原理
安全模式使用持久化的启动标记来检测被中断的启动:- 在加载任何 Native Mod 之前,Aether 在应用存储中设置持久化的
startup_in_progress标记。 - 仅当所有 mods 加载完成,并且第一个 Activity 保持稳定数秒(当前为 5 秒)后,该标记才会被清除。
- 若进程在标记仍处于武装状态时退出 — 崩溃、ANR、OOM 或强制结束 — 下一次启动会检测到武装标记并激活安全模式。
安全模式下会发生什么
安全模式激活时:- 本次启动跳过所有 Native Mods — 不加载任何 DEX。
- Script Mod(TypeScript)与 Pi 扩展仍完全可用,并支持热重载。
- 若可用,会记录崩溃发生时正在加载的最后一个入口,并在 UI 中展示。
- 设置 → 扩展 会显示「Native Mod 安全模式」横幅,标识疑似导致崩溃的 mod。
从安全模式恢复
1
打开 设置 → 扩展
启动 Aether。由于跳过了 Native Mods,即使某个 mod 在加载时崩溃,应用也能
正常启动。
2
查看被标记的入口
安全模式横幅会显示崩溃发生时正在加载的最后一个入口。据此识别问题扩展。
3
移除或修复问题扩展
卸载有问题的扩展,或使用修复后的 DEX 产物更新它。
4
重新启用 Native Mods
在安全模式横幅中点按 「重新启用 Native Mods」。这会清除安全模式标志。
Native Mods 将在下次重启时加载。
手动安全模式(测试)
在安装你尚不确定的 Native Mod 之前,可主动武装安全模式:- 设置 → 扩展 中随时提供 「下次以 Native Mod 安全模式启动」 操作,即使当前未处于安全模式。
- 当你预计新装或更新的 Native Mod 可能出问题时使用,以便在重启前准备好安全恢复路径。
Script Mods 与 Pi 扩展从不会被安全模式跳过。它们可在不重启 Aether 的情况下重载,
不会在启动时将进程置于崩溃循环风险中。