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