Re-ignite 热重启 插件更新无需重启手机
问题背景
在 Root 生态中,安装或更新模块后通常需要重启手机才能让更改在系统级别生效。但这个方案对 AxManager 插件不可行——因为插件完全在用户空间运行,无法访问启动早期的挂载过程。
为此,AxManager 开发了 Re-ignite 机制。
Re-ignite 是什么
Re-ignite 是 AxManager 特有的插件热重启概念。它不重启系统,而是直接重新初始化插件,执行一系列内部操作来模拟重启的效果,但仅限于插件本身。
简单说:插件更新后不用重启手机,用 Re-ignite 让插件自己重新加载。
与完整重启的区别
| 对比项 | 完整重启 | Re-ignite |
|---|---|---|
| 需要重启手机 | 是 | 否 |
| 重启耗时 | 30~60 秒 | 几秒 |
| 系统完全重置 | 是 | 否 |
| 插件重新加载 | 是 | 是 |
| post-fs-data.sh 重新执行 | 是 | 不一定(取决于实现) |
| service.sh 重新执行 | 是 | 可能 |
Re-ignite 只能保证插件层面的重新初始化,系统级的东西不会重置。
使用方式
在 AxManager 的插件管理页面,通常有一个「Re-ignite」或「重新加载」按钮。安装新插件或更新现有插件后,点击这个按钮即可让更改生效。
当前状态
根据官方文档,Re-ignite 概念仍在开发中。文档明确指出:
这个想法是出于技术限制而产生的,所以请理解它可能仍有几个不足之处。
实际使用中,如果 Re-ignite 没有完全生效,完整重启是最稳妥的兜底方案。
为什么重要
对于需要频繁调试插件的开发者来说,每次改代码都重启手机是不可接受的。Re-ignite 让开发循环从「改代码 → 重启 → 测试」变成「改代码 → Re-ignite → 测试」,效率提升非常明显。
对于普通用户,Re-ignite 让日常的插件更新更加轻量,不需要每次都重启手机。