Shizuku 工具
Shizuku 让普通应用可以执行系统命令。AiCode 接入后,AI 获得一个名为 Shizuku 的工具,可通过它在手机系统上运行 pm、am、cmd 等命令,弥补本地容器(PRoot)拿不到系统权限的短板。
前置:安装并启动 Shizuku
- 从 Shizuku 官网 或应用商店安装 Shizuku。
- 打开 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 对比,确认是命令本身还是权限问题。