故障排查
为了提高问题定位和处理效率,请在反馈 Cirno 运行异常前,按照本文要求完成基础环境检查,并根据错误类型提供对应的日志及文件。
反馈问题前的基础检查
在反馈问题前,请首先确认以下基础条件:
- Cirno 已获得 Root 权限。
- LSPosed 已正确激活 Cirno,并为 Cirno 勾选以下作用域:
- 系统框架
- 系统界面
- 已安装 LSPosed 与 ZygiskNext(或其他同类 Zygisk 模块)。
- Xposed API 版本为 101 或 102。
如果以上任一条件不满足,请先完成对应的环境配置,再进行问题反馈。
如果基础环境本身不符合要求,后续日志中的错误可能无法用于判断 Cirno 本身的问题。
常见错误类型及反馈材料
Hook 错误与字段设置错误
常见表现
Cirno 日志中出现以下异常或关键词:
- "NoSuchMethodError"
- "cannot set"
默认反馈材料
请提供:
- Cirno 日志
/system/framework/services.jar
特殊系统处理
部分系统无需提供 services.jar,请根据系统类型和错误日志中的特征提供对应文件。
小米系统
如果使用小米系统,且错误日志中包含 greeze,则无需提供 services.jar,请提供:
/system_ext/framework/miui-services.jarColorOS / RealmeUI / OxygenOS
如果使用 ColorOS、RealmeUI 或 OxygenOS,且错误日志中包含 hans,则无需提供 services.jar,请提供:
/system_ext/framework/oplus-services.jarvivo OriginOS
如果使用 vivo OriginOS,且错误日志中包含以下字段:
FreezeNetCtrl2Packet
则无需提供 services.jar,请提供:
/system/framework/vivo-services.jarBinder 错误
目前此类问题尚无明确的通用解决方案,主要需要通过日志进一步分析。
常见表现
如果同时出现以下情况,可以初步按照 Binder 错误进行反馈:
- 首页提示"连接中"或"版本未运行"。
- Hook 类型显示为"未知"。
- 白名单、黑名单数量显示正常。
- Xposed API 显示为 101/102。
- 运行列表为空。
反馈材料
请提供:
- LSPosed 日志
- Cirno 日志
已知情况
此前有用户反馈,重新安装 KernelSU 后该问题消失。
因此,在确认基础环境无误后,可以尝试重新安装 KernelSU,再检查问题是否仍然存在。
UI 类错误
常见表现
- Cirno UI 闪退。
反馈材料
请提供:
- LSPosed 日志
如果能够稳定复现闪退,也请在反馈中简单描述触发闪退的操作。
例如:
打开 Cirno → 进入全局设置 → 点击 Hook 方式 → UI 闪退。Re:Kernel 相关错误
Re:Kernel LKM/KPM 连接错误
常见表现
Cirno 日志中出现:
ReKernel Kernel 连接失败同时,在全局设置中的 Hook 方式里找不到"ReKernel Kernel"选项。
排查步骤
首先确认设备是否安装了 Re:Kernel LKM/KPM 模块。
未安装 Re:Kernel LKM/KPM 模块
如果设备未安装 Re:Kernel LKM/KPM 模块,则出现上述警告属于正常情况,无需反馈。
已安装 Re:Kernel LKM/KPM 模块
请使用 MT 的终端管理器执行:
su
lsmod | grep rekernel根据命令结果进行判断:
- **有输出结果:**说明相关模块可能已经正常加载。请继续反馈问题,并附带 Cirno 日志。
- **无输出结果:**说明模块可能未正常加载。请尝试重新安装或重新下载 Re:Kernel 模块。
Re:Kernel eBPF 连接错误
排查步骤
首先确认设备是否安装了 Re:Kernel eBPF 模块。
未安装 Re:Kernel eBPF 模块
如果设备未安装该模块,则出现 eBPF 相关错误属于正常情况,无需反馈。
已安装 Re:Kernel eBPF 模块
请检查以下文件是否存在:
/sys/kernel/btf/vmlinux根据检查结果进行判断:
- **文件不存在:**可能是当前设备使用的内核不支持 eBPF。
- **文件存在:**请附带 Cirno 日志进行问题反馈。
反馈信息要求
提供完整日志
请尽量提供完整的 Cirno 日志或 LSPosed 日志,不要只截取单独的一行错误。
如果问题涉及多个组件,请按照对应问题类型同时提供所需日志。
不要只提供截图
截图可以用于辅助说明问题,但通常无法提供完整的错误上下文。
因此,日志文件应作为主要反馈材料,截图仅作为补充。
提供设备及系统信息
反馈时建议同时注明:
- 设备型号
- Android 版本
- 系统名称及版本
- KernelSU 版本
- LSPosed 版本
- ZygiskNext 版本
- Xposed API 版本
例如:
设备:XXX
Android:XX
系统:OriginOS X.X
KernelSU:X.X.X
LSPosed:X.X.X
ZygiskNext:X.X.X
Xposed API:101描述问题复现步骤
如果问题可以稳定复现,请说明:
- 进行了什么操作;
- 出现了什么现象;
- 是否每次都可以复现。
例如:
打开 Cirno → 进入全局设置 → 点击 Hook 方式 → UI 闪退。
该问题每次都可以复现。补充其他相关信息
如果问题是在进行特定操作、安装特定模块或修改特定设置后出现的,请一并说明相关情况。
快速反馈对照表
| 问题类型 | 常见表现 | 主要反馈材料 |
|---|---|---|
| Hook / 字段设置错误 | "NoSuchMethodError"、"cannot set" | Cirno 日志 + services.jar |
| 小米特殊情况 | 日志包含 greeze | Cirno 日志 + miui-services.jar |
| Oplus 特殊情况 | 日志包含 hans | Cirno 日志 + oplus-services.jar |
| vivo OriginOS 特殊情况 | 日志包含 FreezeNetCtrl2、Packet | Cirno 日志 + vivo-services.jar |
| Binder 错误 | 连接中、版本未运行、Hook 未知、运行列表为空等 | LSPosed 日志 + Cirno 日志 |
| UI 错误 | UI 闪退 | LSPosed 日志 |
| Re:Kernel LKM/KPM | Kernel 连接失败、无 ReKernel Kernel 选项 | Cirno 日志 |
| Re:Kernel eBPF | eBPF 连接错误 | Cirno 日志 |
请先完成基础环境检查,再按照问题类型准备反馈材料。
提供完整、准确的日志和环境信息,可以减少重复确认,并提高问题定位效率。