Shizuku 授权应用管理 - 哪些 App 在通过 Runner 调用系统权限
授权列表在哪看
Shizuku 主应用负责权限授予——Runner 能不能执行命令、第三方 App 能不能调 Exec 接口,最终都取决于这里的授权。
查看步骤:
- 打开 Shizuku 主应用
- 进入「授权应用」或「已授权」列表
- 看哪些 App 被打了勾(已授权)
Runner 正常使用后会在这里出现一条记录,这是你手动授权的——没问题。
为什么要定期检查
Shizuku 的 Binder 通道本身就有安全设计:没有被授权的 App 根本连不上通道,更别说执行命令了。但以下场景可能导致不该授权的 App 被授权:
- Runner 自己可能因为某些功能(比如远程调用)申请额外权限
- 某些第三方 App 会伪装成需要 Shizuku 权限来诱导用户授权
- 重装系统后 Shizuku 主应用的授权列表可能混乱
授权策略
保守策略:只授权你自己知道是干什么的 App。通常包括:
- ShizukuRunner(必须)
- Tasker 或 MacroDroid(如果你用自动化)
- 其他基于 Shizuku 框架的工具类 App(如 Canta、ZArchiver 的 root 插件等)
激进策略:全部授权。只有在你信任手机上所有 App 的前提下才这么做——这等于让每个 App 都有机会拿到 shell 权限。
撤回授权
发现不该授权的 App 后:
- 在 Shizuku 主应用授权列表里找到它
- 取消勾选授权
- 该 App 再调用 Runner 的 Exec 接口时会被 Shizuku 拦截,Runner 会显示"Shizuku 通道连接失败"或类似错误提示
撤回授权不会卸载 App 本身,只是不让它再通过 Shizuku 拿 shell/root 通道。
执行审计
部分版本的 Shizuku 主应用或 Runner 提供了权限调用审计日志——可以看到最近有哪些 App、调用了什么 API、在什么时候、成功还是失败。这个日志很有价值:
- 如果发现某个 App 在凌晨三点调用了 Runner,而你根本没设自动化 → 该 App 可能在偷偷执行命令
- 某个 App 频繁申请 root 权限但失败 → 可能在尝试绕过降权开关
开启审计后定期扫一眼,能发现很多异常调用行为。
常见误区
误区:授权列表里有 Runner 就安全了
Runner 本身是个通道——Exec 接口开放后,第三方 App 通过 Runner 间接执行命令,Shizuku 的授权只检查「Runner 有没有被授权」,不检查「Runner 替谁执行命令」。所以真正的安全检查应该在 Runner 侧(降权开关)和 Tasker/自动化侧(只让你信任的 App 触发 Exec)。
误区:授权了一次就永远有效
以下情况会清空授权:
- 卸载重装 Shizuku 主应用
- 清除 Shizuku 主应用数据
- 恢复出厂设置
- 部分系统更新会重置应用权限
这些场景后需要重新打开 Shizuku 主应用给 Runner 授权。