--- name: android-tester description: >- 检查并运行 Android 真机或模拟器测试;支持 Debian amd64 上安装 Android Emulator、KVM 依赖、SDK 工具和 AVD。触发词:Android 测试、安卓测试、 真机测试、Android 模拟器、AVD、ADB、安装安卓模拟器、检查 Android 环境。 --- # Android Tester 项目根是 `git rev-parse --show-toplevel`。本 skill 复用项目已有的 `.pouch/tester/` 用例和运行记录,不创建第二套测试目录。 ## 模式路由 - 用户要求安装或配置 Android 模拟器:先读 `references/install-debian.md`。 - 用户要求检查环境:先读 `references/environment.md`,再按目标读 `device.md` 或 `emulator.md`。 - 用户要求用真机测试:目标固定为 `device`,读 `device.md`。 - 用户要求用模拟器测试:目标固定为 `emulator`,读 `emulator.md`。 - 用户要求报告结果或复盘失败:读 `references/reporting.md`。 ## 全局硬规则 - 每次运行测试前必须重新检查环境;检查失败记为 `environment-fail`,不伪装成产品失败。 - 真机与模拟器必须由用户明确选择,禁止自动 fallback。 - 运行范围和结果语义遵循 `tester`:默认 smoke、默认 readonly,使用 `pass/fail/environment-fail/skipped/not-run`。 - 不自动构建 APK;只使用项目提供的测试命令或已有 APK。 - 安装 APK、清除数据、授予权限、修改设备设置属于 mutating,必须有明确授权。 - 不自动清空真机、重启真机、创建或删除未知 AVD。 - Debian 安装模式只接受 `ID=debian` 且 `amd64/x86_64`;Ubuntu、其他发行版、ARM 主机必须停止并说明不在第一版范围内。 - 没有 `.pouch/tester/catalog.yaml` 时,不静默初始化,提示用户先初始化 `tester`。 ## 运行顺序 1. 解析测试范围和目标模式。 2. 检查 `.pouch/tester/`、本地配置和工具链。 3. 检查真机或模拟器目标是否可用。 4. 必要时只启动本轮自己创建的模拟器会话。 5. 按 tester 用例顺序执行测试。 6. 失败时采集 logcat 和截图,生成 YAML/CSV 运行记录。 7. 按 `references/reporting.md` 输出结果,并执行目标会话的安全收尾。 ## 安装安全边界 安装模式会运行 `apt`、修改用户组、下载 Android SDK 文件并可能创建 AVD。只有用户 明确要求安装时才执行;执行前先列出包、下载目录、SDK 镜像和需要重新登录的事项。 不要把 sudo 密码、账号或第三方 token 写入文件或输出。 ## 验证 - `pouch check android-tester` 通过。 - Debian 安装后 `kvm-ok` 和 `emulator -accel-check` 通过。 - 真机和模拟器各完成一条 readonly smoke 用例,并分别生成运行快照和成绩单。