高级配置
本文档介绍 Cirno 的高级配置选项和配置文件系统。
配置文件
Cirno 的配置存储在 /data/system/Cirno/ 目录下,包含两个 JSON 文件:
GlobalSettings.json
全局设置,包含:
- 冻结方式
- 日志级别
- ReKernel 集成配置
- 厂商兼容层配置
ApplicationSettings.json
应用级别设置,包含:
- 白名单 / 黑名单列表
- 后台播放豁免列表
- 后台定位豁免列表
- 网速识别启用列表
- 网络解冻启用列表
- 进程级冻结排除配置
注:配置文件采用 JSON 格式,如果你不熟悉 JSON 语法,请不要手动编辑。配置损坏后可能导致应用异常或配置丢失。
配置备份与恢复
备份配置
- 点击底部导航栏最右侧的全局设置
- 滚动到页面底部
- 点击导出配置
- 选择保存位置
备份文件为 ZIP 格式,包含 GlobalSettings.json 和 ApplicationSettings.json 两个文件。
恢复配置
- 点击底部导航栏最右侧的全局设置
- 滚动到页面底部
- 点击导入配置
- 选择备份的 ZIP 文件
注:导入的 ZIP 文件必须仅包含 GlobalSettings.json 和 ApplicationSettings.json 两个文件,否则导入失败。
恢复后配置立即生效,基本无需重启设备。配置备份支持跨设备迁移。
日志查看
Cirno 的日志输出到 /data/system/Cirno/log 目录。
查看方式
- 点击主页的日志一栏
- 查看实时日志输出
日志级别
可在全局设置中调整日志级别:
| 级别 | 说明 | 推荐场景 |
|---|---|---|
| 调试 | 输出详细调试信息 | 反馈 Bug 或分析问题时 |
| 信息 | 输出常规信息 | 日常使用(推荐) |
| 警告 | 仅输出可能出错的信息 | 稳定后关闭详细日志 |
| 错误 | 仅输出错误信息 | 稳定后关闭详细日志 |
冻结方式
Cirno 基于 cgroup v2 实现冻结,支持以下方式:
| 方式 | 说明 | 推荐 |
|---|---|---|
| V2 UID | 按 UID 冻结,兼容性好 | 推荐 |
| V2 Frozen | 按 cgroup 路径冻结 | 推荐 |
注:冻结方式在全局设置中选择,更改后立即生效。
ReKernel 集成
ReKernel 是内核级 Binder 和网络事件监听模块,通过 Netlink 套接字与 Cirno 通信。
功能增强
启用 ReKernel 后可以使用:
- 网络解冻:收到网络数据包时临时解冻应用
- 异步缓存清理:减少 Binder 解冻次数
选择建议
根据内核版本选择 ReKernel 版本:
| 内核版本 | 推荐版本 |
|---|---|
| 5.10 及以上 | ReKernel_LKM(推荐) |
| 5.4 及以下 | ReKernel_KPM |
下载地址:
安装步骤
- 根据内核版本下载对应的 ReKernel
- 使用 KernelSU / Magisk / APatch 刷入模块
- 重启设备
- Cirno 会自动检测并启用 ReKernel 集成
注:无 ReKernel 时,Cirno 会自动回退到用户态 Hook,不影响基础冻结功能。
厂商兼容性
Cirno 会自动检测设备厂商并适配其进程管理系统:
完整支持
| 厂商 | 内核模块 |
|---|---|
| 小米 / 红米 / POCO(MIUI / HyperOS) | Millet |
| OPPO / OnePlus / Realme | Hans |
部分支持
| 厂商 | 说明 |
|---|---|
| 三星 | 不保证完整支持,可能存在兼容性问题 |
注:启用 ReKernel 后,厂商 Binder 拦截会自动退让,优先使用 ReKernel。