Skip to content

配置文件与参数详解

⚠️ 底层修改须知

AStop 配置文件位于 /data/adb/cerberus/conf/ 目录。在手动使用 Root 文本编辑器修改前,请务必保证 JSON 与 TOML 格式语法准确无误。若语法损坏,守护进程在启动时可能会回退到内置默认值。


1. 核心配置文件代码组

以下汇总了 AStop 运行所需的核心配置文件结构,您可通过标签页快速切换查看字段定义:

json
// 路径:/data/adb/cerberus/conf/Config.json
{
  "kill_defense_policy": 0, // 查杀防御策略 (0: 默认,同步给 Probe 进行防杀拦截)
  "observation_period_sec": 3, // 进入后台后的「气息感知」观察缓冲期秒数 (STRICT模式固定为3s)
  "strict_mode_countdown_sec": 5, // 「严格模式」下的宽限倒计时秒数 (超时即进入强制挂起)
  "network_threshold_kbps": 500.0, // 后台网络传输豁免阈值 (单位 KB/s,高于此速率免冻结)
  "critical_memory_threshold_percent": 90, // 严重内存阈值百分比 (>=此值判定为CRITICAL)
  "enable_doze_takeover": true, // 是否接管原生 Android Doze 深度休眠门禁
  "enable_diagnostic_dump": false, // 是否开启诊断转储功能 (系统检测到异常时转储现场)
  "voltage_multiplier": 0.0, // 电池电芯电压校准系数 (设为 0.0 时由系统自动学习)
  "current_multiplier": 0.0 // 电池电芯电流校准系数 (设为 0.0 时由系统自动学习)
}
json
// 路径:/data/adb/cerberus/conf/adj_rules.json
{
  "rules": [
    {
      "source_range": [-1000, 0], // 原生系统计算出的 OOM ADJ 分数范围
      "type": "linear", // 线性插值重映射
      "target_range": [0, 100] // AStop 重映射后最终写入 /proc/<pid>/oom_score_adj 的目标范围
    },
    {
      "source_range": [1, 1000],
      "type": "linear",
      "target_range": [200, 990]
    }
  ]
}
json
// 路径:/data/adb/cerberus/conf/swap.json
{
  "enabled": true, // 是否启用 SwapController 动态接管 zram0 与 swappiness
  "zram_disksize_bytes": 0, // 手动指定 ZRAM 容量 (设为 0 时按物理内存比例自适应计算)
  "zram_large_ram_threshold_gb": 12, // 大内存设备门槛 (单位 GB,物理内存大于此值时采用大内存比例)
  "zram_large_ram_ratio_percent": 100, // 大内存设备的 ZRAM/RAM 比例 (默认 100%,即与物理内存 1:1)
  "zram_zstd_ratio_percent": 70, // 支持 zstd 算法时的 ZRAM/RAM 比例 (默认 70%)
  "zram_default_ratio_percent": 50, // 默认 ZRAM/RAM 比例 (默认 50%)
  "perf_algorithms_pref": ["zstd", "zstdn", "lz4k", "lz4", "lzo-rle", "lzo"], // 日常流畅模式算法选用偏好
  "cap_algorithms_pref": ["zstd", "zstdn", "lz4k", "lz4", "lzo-rle", "lzo"], // 重度保活模式算法选用偏好
  "bg_app_threshold": 8, // 切入重度模式的后台冻结应用数上限阈值
  "bg_app_threshold_exit": 5, // 退出重度模式的滞回下限阈值
  "swappiness_normal": 100, // 日常流畅模式下的 vm.swappiness 目标值
  "swappiness_aggressive": 150, // 重度保活模式下的 vm.swappiness 目标值
  "algo_switch_screen_off_sec": 60, // 算法切换安全窗口:息屏持续最短秒数 (防亮屏卡顿)
  "algo_switch_cooldown_sec": 300 // 算法切换最小冷却时间 (秒)
}
toml
# 路径:/data/adb/cerberus/conf/app_tags.toml
[tags]
social = ["com.tencent.mm", "com.tencent.mobileqq"]
gaming = ["com.miHoYo.GenshinImpact", "com.miHoYo.hkrpg"]
media = ["com.netease.cloudmusic", "com.kugou.android"]

2. 系统核心保护白名单

  • 历史路径/data/adb/cerberus/conf/critical_apps.txt (当前版本已迁入 SQLite 数据库管理)
  • 运行机制:列入该集合的应用将被系统视作最高优先级底层基础设施(如电话、短信、SystemUI、Launcher、Magisk/KSU 核心组件),AStop 守护进程严禁对其执行任何冻结或查杀操作,确保整机稳定性。

3. SQLite 数据库文件与无损维护

AStop 在运行过程中会将不同维度的状态数据持久化至 SQLite 数据库中:

数据库文件存储数据类型建议维护周期
cerberus.db主配置表、应用策略、子进程策略与预设自动化规则核心数据,跟随应用自动维护
data/events.db自启动拦截日志、唤醒事件时序与防火墙审计记录建议定期执行整理压缩
data/logs.db系统性能遥测指标、功耗采样快照与诊断日志可在空间紧张时执行深度清理

💡 在线数据库整理建议

进入 AStop「设置」->「更多设置」->「数据库状态与整理」:

  • 无损整理 (VACUUM,首选推荐):执行 SQLite 碎片整理并截断 WAL 预写日志,在不丢失任何配置与历史记录的前提下大幅缩减文件体积;
  • 深度清理:清理过期的秒级功耗采样样本与前端临时缓存,快速释放内部存储空间。
📸 点击展开查看数据库状态与整理界面
数据库状态与整理界面

Released under the MIT License.