Android CLI 与 sim-use 对比¶
背景¶
对比对象:
- Android CLI:Google 官方面向 AI agent 的 Android 命令行工具,支持通过 Journeys 自动执行 App 用户流程。
- sim-use:LY Corporation 开源的移动端 UI 操作工具,面向 agent 的 observe -> act -> verify 循环,支持 iOS Simulator 和 Android emulator/device。
这次讨论的结论:如果只做 Android,优先使用 Android CLI;sim-use 更适合作为跨 iOS / Android 或更底层屏幕操作的补充。
结论¶
只做 Android 时,Android CLI 基本够用,而且更符合官方方向。
推荐组合:
- Android CLI:负责 agent workflow、Journeys、Android 官方知识和 Android Studio 能力集成。
- Journeys:沉淀核心用户路径,例如登录、进入设置、修改配置、验证结果。
- adb / logcat / Gradle:处理底层构建、安装、调试和日志。
- sim-use:只有在需要跨 iOS / Android,或 Android CLI 的临场屏幕操作不够透明时再引入。
Android CLI 可以自动点击吗¶
可以。
Android CLI 的 Journeys 可以让 AI agent 按自然语言描述执行 App 用户流程,包括:
- 自动导航页面;
- 自动点击控件;
- 自动输入内容;
- 根据设备屏幕状态做断言;
- 在终端或 CI/CD 中运行用户旅程验证。
所以这里的 Android CLI 不是传统意义上只有 adb shell input tap x y 的底层命令集合,而是 Google 官方的 agent-first Android 自动化入口。
Android CLI 的优势¶
- 官方 Android 工具,方向更贴近 Android 生态。
- 适合 Android-only 项目,不需要额外维护跨端工具链。
- Journeys 更像端到端用户旅程验收测试,适合沉淀可重复执行的流程。
- 更适合接入 CI/CD,长期维护成本可能更低。
- 可以结合 Android skills、Android 知识库、Android Studio 命令等能力。
- 和 adb、Gradle、logcat、emulator 等传统工具配合自然。
Android CLI 的不足¶
- 只面向 Android,不解决 iOS Simulator 自动操作。
- Journey 抽象层级较高,执行过程相对更黑盒。
- 如果想精确控制“当前屏幕第几个元素被点击”,不如
sim-use ui+tap @N直观。 - 工具较新,稳定性和 CI 体验需要在自己的项目中验证。
sim-use 的优势¶
- 同一套命令可以操作 iOS Simulator 和 Android emulator/device。
- 更强调 observe -> act -> verify:先看当前 UI outline,再明确执行点击、输入、滑动、截图等动作。
sim-use ui会给屏幕元素生成@Nalias,agent 可以直接tap @9,比坐标点击更清晰。- 适合临场调试:当前屏幕是什么、应该点哪里、点完后结果如何,都比较透明。
- 如果以后需要同时操作 iOS 和 Android,跨平台价值明显。
sim-use 的不足¶
- Android-only 场景下,跨平台优势用不上。
- Android 侧需要额外 bridge APK 和 AccessibilityService,工具链依赖比官方 Android CLI 多。
- 更像底层 UI 操作执行器,不是完整 Android 官方开发工作流。
- 长期回归测试和 CI 沉淀,优先级不一定高于 Android CLI Journeys 或官方测试体系。
使用建议¶
只做 Android¶
优先使用 Android CLI。
实践路径:
- 先把 Android CLI 安装和项目接入跑通。
- 用 Journeys 编写关键用户路径。
- 使用 adb / logcat / Gradle 处理底层调试问题。
- 如果发现 Journey 对某些临场操作不够可控,再考虑补充
sim-use。
需要跨端自动化¶
如果同时做 iOS 和 Android,可以考虑引入 sim-use,因为它的核心价值是跨平台统一屏幕操作。
需要非常精确的屏幕操作¶
如果目标是“先列当前屏幕所有可点击元素,再明确点某一个 alias”,sim-use 会更直接。
对比表¶
| 维度 | Android CLI Journeys | sim-use |
|---|---|---|
| 定位 | 官方 Android agent workflow | 跨端 UI 操作执行器 |
| 自动点击 | 支持 | 支持 |
| 操作方式 | 自然语言用户旅程 | UI outline + 明确动作命令 |
| 平台 | Android | iOS Simulator + Android |
| 生态集成 | Android 官方生态更强 | 更独立,聚焦屏幕交互 |
| CI/CD | 更适合 Android 项目长期沉淀 | 可用,但更偏辅助和底层执行 |
| 透明度 | 高层抽象,略黑盒 | 操作步骤更直观 |
| Android-only 推荐度 | 高 | 按需补充 |
最终判断¶
如果当前只做 Android:
用 Android CLI 就可以,优先不要一开始引入两套工具。
等 Android CLI 在实际项目中遇到无法覆盖的场景,再评估是否引入 sim-use。