重启目标应用让 Hook 状态生效
为什么必须重启
Xposed 模块的 Hook 代码是在目标应用进程启动时注入的。进程一旦启动并加载了某个模块的 Hook,运行期间无法动态卸载或重新加载。所以:
- 首次勾选 → 需要重启目标应用,让进程带着新 Hook 启动
- 取消勾选 → 需要重启目标应用,让进程不再加载 Hook
- 修改配置 → 需要重启目标应用,让新配置生效
Guise 帮你做的事
Guise 保存配置后,如果检测到目标应用正在运行,会主动询问:「是否停止并重启该应用以使修改生效?」
进程控制采用三级回退:
| 优先级 | 方式 | 条件 |
|---|---|---|
| 1 | ROOT 直接操作 | 设备已 Root,优先尝试 |
| 2 | Xposed service | 框架服务连接成功时可用 |
| 3 | 引导手动停止 | 进入系统「应用信息」页,由你手动点「强制停止」 |
不为了停止目标应用去 Hook 系统框架。系统框架和 Android 进程不在 Guise 的作用范围内。
如果应用没有运行
如果目标应用当前没在运行,Guise 不会重复打扰——你下次手动打开应用时,它会以新的 Hook 状态启动,配置自动生效。
重启后怎么验证
重启目标应用后,快速验证 Hook 是否生效:
- 打开 Guise,进入该应用的配置页
- 保存一次(确认配置在)
- 打开目标应用
- 看看需要伪装的参数有没有按预期变化
最可靠的验证方式是使用 Guise Test 靶应用——它专门用来显示 Android API 的实际返回值,三源交叉哈希能直观告诉你哪些通道跟上了、哪些没跟上。
什么时候需要重启整个手机
通常不需要。每次只重启目标应用就够了。但以下场景需要重启整个设备:
- LSPosed 框架自身刚安装或升级
- Guise 模块刚启用(首次加载)
- Zygisk 服务需要重新启动
这些情况 LSPosed 或 Guise 本身会提示你。