Google 开源 ARTEMIS:让 Claude Code、Codex 通过 MCP 操作真实安卓手机做测试
AI 改完安卓代码后,常常还要人拿着手机逐页点一遍才能确认没出问题。ARTEMIS 把这一步交给模型:编码助手通过 MCP 调用它,它在连接的设备上执行操作,并把截图、Logcat 日志和诊断报告返回。
01能做什么
- 自然语言驱动:例如“打包最新改动、装到连接的设备、用测试账号登录,检查有没有意外弹窗并截图”(README 示例提示词)。
- 三种使用方式:网页控制台(实时镜像屏幕、任务队列、回放)、命令行 `artemis run`、Python SDK(可接 pytest 或 CI);MCP 服务供 Antigravity、Claude Code、Windsurf、Codex 等调用。
- 两种执行档位:Flash 每步约 3–5 秒,适合固定流程;Pro 带计划与校验,每步约 15–40 秒,适合长流程和探索性测试(均为 README 的说明)。
- 元素定位先用无障碍层级,不行再用 OCR 和视觉模型兜底,自绘界面(Canvas、Compose、Flutter)也能处理。
README 称在 Google Research 的 AndroidWorld 基准(100+ 多步任务)上完成率达 99%+。这是项目自己的说法,本站未复现。
02上手条件
- 设备:开启 USB 调试的安卓真机或模拟器;README 的路线图里 iOS 仍是计划项。
- 环境:Python 3.12+;`start.sh`(macOS/Linux)或 `start.bat`(Windows)会自动安装 ADB、scrcpy、FFmpeg 和 uv 依赖,并询问是否给你的 AI IDE 装 MCP 配置。
- 模型:ARTEMIS 自己调用模型来看屏幕、做决策,需要在 `.env` 里至少配置一个提供商的密钥,模板列出 Gemini、OpenAI、Anthropic、OpenRouter、xAI;编码助手只负责派活,并不替它操作手机。
git clone https://github.com/google/artemis.git && cd artemis ./start.sh # 命令行单次任务(README 示例) uv run artemis run "Open Settings, find Battery and tell me current level" --profile flash
以上命令摘自 README,本站未实际运行。
03装到手机上的东西
首个任务会在设备上安装 Artemis Accessibility Helper,一个读取屏幕布局的无障碍服务,设置里会多出对应条目和一条常驻通知。官方称它只在手机本地监听,不向外发送数据。如果用的是个人手机,可以在 `.env` 里设置 `ARTEMIS_HELPER_AUTO_INSTALL=false` 关闭自动安装,或改用 UIAutomator2;用 `artemis helper uninstall` 可随时卸载。README 也建议共享或个人手机上谨慎启用自动安装。
由于操作的是真实设备上的账号和应用,建议先在模拟器或专用测试机上试用,再决定要不要接到常用手机。
许可证:Apache-2.0;`third_party/mobile_use` 目录含 Minitap 的 mobile-use 代码,同为 Apache-2.0。


DeepSeek
Claude Code
Timestral