模块冲突排查思路——APP 闪退、手机卡顿、开机循环
冲突的典型症状
- APP 闪退:打开某些 APP 立即关闭
- 手机卡顿:日常使用明显变慢、掉帧
- 发热异常:手机无缘无故发烫
- 开机循环:重启后卡在 boot 阶段反复重启(严重)
- 功能失效:某个模块的功能完全不生效
排查工具准备
- KsuWebUI 的模块列表(可以快速启停)
- 日志页面(看报错信息)
- 如果手机进不了系统 → 进 Recovery 或 Fastboot 手动处理
排查流程(从轻到重)
第一步:最近装了什么
回想一下症状出现前最近装或更新了哪个模块——新模块是最大嫌疑。先禁用它观察。
第二步:二分法排查
如果不知道哪个模块出问题,用二分法:
- 先禁用一半模块(保留基础框架类的,比如 LSPosed 本身)
- 重启手机观察
- 如果正常 → 问题模块在刚才禁用的那一半里
- 如果不正常 → 问题模块在保留的那一半里
- 在嫌疑组里重复 1-4,每次缩小一半范围
通常 3-4 轮就能定位到具体模块。
第三步:模块依赖问题
如果问题模块依赖另一个模块:
- 依赖模块本身可能有问题
- 依赖模块版本不匹配
- 两个模块同时 hook 同一个 APP 导致冲突
第四步:查看日志
二分法缩小范围后,在 KsuWebUI 日志页面看目标模块有没有报错:
[ERROR]级别的日志直接指向问题[WARN]级别的可能是兼容性警告- 没日志 → 模块可能根本没运行起来
开机循环的紧急处理
如果模块导致手机无法正常开机:
方法一:安全模式
开机时按住音量键进入安全模式(不同机型按键不同),安全模式下第三方模块不会加载——如果安全模式能进,说明是模块的问题。
方法二:Recovery 手动禁用
如果有 TWRP 或其他 Recovery:
- 进入 Recovery
- 找到 root 框架的模块目录(
/data/adb/modules/) - 给嫌疑模块的目录名前面加
disable_前缀(让框架跳过加载) - 重启
方法三:用其他 root 管理器
如果 KsuWebUI 本身也无法进入,用 root 框架的官方管理器(KernelSU 管理器、Magisk Manager)来禁用模块。
避免冲突的习惯
- 一次只装一个新模块——装完观察几天再装下一个
- 看模块评论——如果评论区说有兼容性问题就别碰
- 优先选更新活跃的模块——维护中的模块 bug 少
- 保持模块版本更新——旧版本可能有已知冲突
- 定期清理不用的模块——模块越多互相冲突的概率越高
- 先备份再大动作——装新模块前做一次备份,有问题回滚