Skip to content

权限与故障排查 ​

WattScope Next 需要五项权限。缺任何一项都不会崩溃,但对应功能会静默失效——所以先对着这张表自查。

权限清单 ​

Root ​

用途:读取 QPT、cpufreq、/proc/stat、thermal zone、devfreq 等 sysfs 节点。全部采样都在一次 su shell 往返内完成。

缺失表现:首页横幅提示未授予 root;除界面外几乎所有数据都是 --。

排查:

  1. 在 KernelSU / Magisk 里确认已给 io.github.rusheng920.wattscope 授予 root
  2. 应用内点权限中心的「重新检测」,或退出重进
  3. root 检测优先读取已建立 shell 的真实状态,所以刚在 root 管理器里重新授权后,无需重启应用即可识别;探测完成前沿用 1.5 秒轮询

悬浮窗 ​

用途:显示悬浮球与 OSD。

缺失表现:设置里打开悬浮球没有反应;从通知点进悬浮球时若权限已被回收,应用会捕获异常而不是崩溃。

排查:系统设置 → 应用 → 特殊权限 → 显示在其他应用上层。部分系统需要额外允许「后台弹出界面」。

通知 ​

用途:前台服务保活,展示当前记录状态。

缺失表现:记录过程中切到后台,采样容易被系统冻结、曲线出现断点。

排查:Android 13+ 通知权限是运行时权限,在系统设置里单独授予。

使用情况访问 ​

用途:识别当前前台应用(记录目标、FPS 跟随对象)。

缺失表现:悬浮球记录无法确定目标应用;FPS 图层无法跟随。

排查:系统设置 → 应用 → 特殊权限 → 使用情况访问权限。

电池优化白名单 ​

用途:防止息屏后采样被冻结。

缺失表现:息屏一段时间后曲线断点、记录时长偏短。

排查:系统设置 → 电池 → 应用耗电管理 → 找到 WattScope Next → 允许后台活动 / 无限制。

权限中心 ​

设置 → 权限中心,是一张逐项的授权状态清单:

  • 每项显示「已授予 / 未授予」,并带跳转按钮直达对应系统页面
  • 页面可见期间每 1.5 秒自动复检,在系统里改完返回就能看到变化
  • 顶部用环形进度显示完成度
  • root 探测未完成时状态为「检测中」,不会误报为未授权

常见症状对照 ​

症状最可能的原因
首页一直显示「权限未给全」,但权限中心全是已授予root 探测尚未完成,等 1–2 秒;仍不对则点「重新检测」
分区功耗全是 --,但温度、FPS 正常设备没有 QPT 节点,或 qpt 目录未开启
整机功耗显示 0.00 W电池驱动 power_now 在放电时不更新;改用电压 × 电流计算,见常见问题
记录只有 1 秒就自动停止目标应用刚获焦点的前台状态未稳定。已在判定链路上加 5 秒宽限期;若仍出现请提 issue 并附机型
息屏后曲线断点通知权限或电池优化白名单未给
游戏里 FPS 恒为 0SurfaceFlinger 未上报该 Surface,回退路径也失败;不同游戏渲染路径差异较大
整机功耗比实测低约一半双电芯机型只上报单路电流,设置 → 采样 → 开启「双电芯机型」

仍然不对? ​

带上这些信息提 issue,定位会快很多:

  • 机型 / 平台代号 / Android 版本 / root 方案
  • 权限中心截图
  • 相关节点的实际内容,例如:
bash
su -c 'ls /sys/class/powercap/qpt 2>/dev/null | head'
su -c 'cat /sys/class/power_supply/battery/power_now 2>/dev/null'

基于 Alita23333/WattScope 二次开发 · 仅供学习与研究使用,请勿用于商业用途