Skip to content

Shizuku 工具 ​

Shizuku 让普通应用可以执行系统命令。AiCode 接入后,AI 获得一个名为 Shizuku 的工具,可通过它在手机系统上运行 pm、am、cmd 等命令,弥补本地容器(PRoot)拿不到系统权限的短板。

前置:安装并启动 Shizuku ​

  1. 从 Shizuku 官网 或应用商店安装 Shizuku。
  2. 打开 Shizuku,按应用内指引启动服务:
    • Android 11 及以上:开启「无线调试」后可直接在手机上启动;
    • Android 10 及以下:需连接电脑用 adb 启动。

在 AiCode 中授权 ​

打开「设置 → 软件权限 → Shizuku」,页面显示当前状态:

  • 未安装:点击前往下载安装。
  • 服务未运行:点击打开 Shizuku 并启动服务。
  • 未授权:点击申请授权,Shizuku 弹出授权框,选择「允许」。
  • 已就绪:授权完成,AI 即可使用 Shizuku 工具。

从 Shizuku 应用返回 AiCode 时,状态会自动刷新。

使用与安全 ​

Shizuku 直接操作宿主 Android 系统,权限高危,因此在工具授权上按高危工具处理:

  • 每次调用都会弹出授权确认:包括 ls 这类只读命令,不走内置安全白名单,也不会因已有规则自动放行。
  • 不支持「始终允许」:弹窗中的「始终允许」按钮不可用(会显示原因),只能单次放行,不生成记忆规则。
  • AUTO(自动)模式下同样弹窗:AUTO 的「全放行」对它不生效;仅当开启「设置 → 工具授权 → 禁用安全拦截」后,AUTO 下才恢复自动放行(BUILD 模式仍逐次确认、不可记忆)。
  • PLAN(计划)模式下,该工具与其他写操作一样被拦截。
  • 项目权限规则中的禁止规则对它依然生效(命中 deny 会被直接拒绝)。

常见问题 ​

命令报「Shizuku 未就绪」

按设置页提示依次确认:已安装 → 服务已启动 → 已授权。设备重启后 Shizuku 服务通常需要重新启动(Android 11+ 可在 Shizuku 内重新开启无线调试启动)。

Shizuku 工具执行失败但没有明显报错

部分命令需要特定系统权限,Shizuku 并不具备所有权限。可在终端中用 Bash 对比,确认是命令本身还是权限问题。

基于 GPL-3.0 协议开源