夜雨聆风学习资料网

ARTICLE · 1048508

【GitHub】Google 开源安卓自动化框架:99% 跑分,源码归属起争议

【GitHub】Google 开源安卓自动化框架:99% 跑分,源码归属起争议
每天一个开源项目2026.09

安卓自动化测试这件事,Google 上个月开源了一个新框架 ARTEMIS,官方跑分 99%+。先别急着收藏,这个数字和这个项目,都有需要拆开看的地方。

{它把手机接进了 IDE}

ARTEMIS 的定位一句话说得清,让 AI 助手和测试套件像人一样操作真机。你给一句自然语言,它驱动安卓设备点、划、输入,顺手把 Logcat 和截图收回来。

一条命令接进编辑器

它内置原生 MCP 服务,跑一句 uv run artemis mcp --install all就能把真机接进 Antigravity、Cursor、Claude Code、Codex、Windsurf 这些编辑器。 装好之后在聊天框里直接派活:

把最新改动打成 APK,装到连接中的设备,用测试账号打开登录页,验证登录后有没有意外弹窗,并返回最终页面的截图。

模型不绑一家,GEMINI_API_KEYOPENAI_API_KEYANTHROPIC_API_KEYOPEN_ROUTER_API_KEY 都能配,也能指向本地 ollama。

规则文件比 MCP 更值钱

比 MCP 接口更值得看的,是它同时塞进编辑器的一份规则文件 mcp_server/rules.md,13KB 全是移动测试的方法论。

定位策略坚持「动态优先、坐标兜底」,能用资源 ID 和文本就不写死坐标,坐标只做兜底。

写测试代码之前必须先用它探索目标应用,不许假设交互怎么走。文件里还有一组诚实的数字,Flash 单步约 5 秒,Pro 单步约 30 秒。所以要等 30 秒的场景,让 Flash 等 25 秒就够。

{Flash 和 Pro 是两套东西}

它的两个档位,是两套不同架构。

Flash
Pro
单步耗时
3 到 5 秒
15 到 40 秒
结构
单模型观察-思考-执行循环
Planner / Operator / Checker 多智能体图
任务计划
活的 Markdown 计划,带检查点
执行前校验
每个动作先过安全网
最终报告
可选
轮数上限
默认无上限
不适用

Pro 档有个工程决策值得记一笔。动作被拦截或者失败时,它不另起一个「修复 agent」,而是在 Operator 的上下文里留一条执行事故记录,连着失败次数一起摆着。

直到后面某次动作跑通,这条记录才消掉。 责任留在同一个角色的上下文里,比拆一个新 agent 去救火省事。

Flash 的局限官方自己写在 README 里,没有计划、没有安全网、没有检查点验证、没有最终报告,也不能用 ADB shell。想跑长流程,或者要一份能交出去的诊断报告,就得切 Pro。

{99% 这个数字,要拆开看}

AndroidWorld 是 Google Research 自己做的基准,116 个任务、20 个真实应用,按执行后的设备状态判分。ARTEMIS 官方口径是 99% 以上的完成率。这个分数有三重限定。

第一,跑分和被跑分的工具出自同一个组织,仓库里没有引用任何第三方复现。第二,AndroidWorld 上人类操作员大约 80%,头部 agentic 框架普遍已经在 90% 以上,99% 高出的那一点没有形成代差。

第三层更该看,换一套更难的基准,成绩就掉下来了。

基准
发布
任务数
平均步数
跨应用任务占比
最强 agentic 框架成绩
AndroidWorld
2024
116
14.3
9.5%
90% 以上
MobileWorld
2025-12
201
27.8
62.2%
51.7%

短任务、单应用,这类工具已经能用了。长流程、跨应用,它还是会掉链子。 而且上面所有跑分都跑在模拟器上,指纹、真机相机、支付面板、wifi 掉蜂窝,一个都没碰过。

{代码从哪来,账还没结}

这一段可能比跑分更值得你花两分钟。

ARTEMIS 仓库 README 的最后一行写着:

This project includes source code developed by Minitap, Inc.

这句话是投诉之后才补上的。2026 年 9 月 11 日,一家叫 Minitap 的公司在 ARTEMIS 仓库里开了 issue #40,讲得很具体。

初版 pyproject.toml 里带着他们项目 mobile-use 的版本号 3.6.3,还有三位原作者的名字,却挂着 Google LLC 的版权头。后来一个提交只改了这一个文件,把三个名字换掉,另外 228 个文件原样没动。

我拉下源码看了一眼,现在 artemis/clients/adb_tunnel.py 的文件头是两段版权声明,Google 的在前,紧跟着一句 Portions of this file are derived from mobile-use,署名 Minitap。9 月 12 日确实有一条提交专门补版权头,提交信息里写着「per Apache 2.0 requirements」。

但 issue #113 到今天仍然开着,没人回。它讲的是 Apache 2.0 第 4(d) 条,上游项目带了 NOTICE 文件,转发方就得把里面的署名声明一起带上。ARTEMIS 有 LICENSE,没有 NOTICE Google 至今没有公开回应。

说实话,这件事没有定论。但文件头和提交时间线都公开可查,建议自己去翻一遍再决定要不要用。

{装到你手机上的是什么}

第一次跑任务,它会在手机上装一个 Artemis Accessibility Helper,一个读屏幕结构的无障碍服务,好处是不去抢 UiAutomation 连接。

官方说法是它只在手机本地监听,不外发任何东西。这句话同样只有项目自己背书。

不想留就给三个开关。uv run artemis helper uninstall 卸载,ARTEMIS_HELPER_AUTO_INSTALL=false 禁止自动安装,ARTEMIS_HIERARCHY_BACKEND=uiautomator 换回 UiAutomator2。

还有一条安全 issue #99 报了个命令注入,还没修。ARTEMIS_NOTIFY_CMD 的模板替换没做 shell 转义,而填进去的任务描述是外部可控的。生产环境用之前,别配那个通知脚本。

{想试的话}

需要 Python 3.12+,一台开了 USB 调试的安卓机或者一个模拟器。

...bash

git clone https://github.com/google/artemis.git && cd artemis

./start.sh

Windows 下换成 .\start.bat,那个点别漏,PowerShell 默认不从当前目录找脚本。装完浏览器会打开 localhost:8000,里面有设备连接向导、实时投屏和一个提示词沙盒。

也可以直接命令行派活:

...bash

uv run artemis run "Open Settings, find Battery and tell me current level" --profile flash

截至今天,这个仓库 6583 star、590 fork,Apache-2.0 协议,贡献者只有 6 个人,从建仓到现在一个月零四天,还没发过任何正式 Release。

顺手去 GitHub 给它点个 Star 吧,把真机接进 AI 编辑器这个方向值得盯着看。真有移动测试需求,建议先拿自己项目的回归用例跑一遍,别拿那个 99% 当验收标准。

#开源 #Google #安卓自动化 #MCP #AI测试 #开源项目 #ClaudeCode #AI

GitHub

artemis

Let AI assistants and test suites use real phones like a human.

https://github.com/google/artemis

 { 感谢阅读 }

如果本文对您有帮助,欢迎 点赞,点“推荐

相关学习资料