AI代理中的本地Android模拟支持
Devin现在支持在本地运行Android模拟器,能够构建、测试和调试Android应用。它通过声明式配置集成,支持ADB命令和计算机视觉交互,可进行端到端测试、UI验证、崩溃调试和多配置测试。
Devin,这个AI软件工程代理,现在具备了在本地运行Android模拟器的能力。这意味着Devin可以直接在其环境中构建、启动和测试Android应用,而无需依赖外部设备或云服务。这一功能为Android开发者提供了一个全新的自动化测试和开发辅助工具。
核心功能
启用Android模拟支持后,Devin可以处理完整的移动开发循环,包括:
- 构建与冒烟测试PR:Devin在模拟器上构建并运行应用,在每次PR后点击关键流程,并生成视频记录供开发者审查。
- 端到端移动测试:在真实的Android栈上测试完整的用户流程,如登录、导航、表单提交和结账,而非使用模拟数据。
- UI验证:检查不同屏幕尺寸和API级别下的布局、主题和响应性,捕捉重叠元素或文本截断等视觉问题。
- 调试崩溃与ANR:在模拟器上复现问题,捕获logcat输出,追踪根本原因并推送修复。
- 跨平台验证:对于React Native、Flutter或Kotlin Multiplatform项目,Devin可以在同一会话中同时测试Android端与Web或桌面构建。
- 仪器化测试执行:直接在模拟器上运行Espresso或UI Automator测试套件,并报告结果,无需单独的CI设备农场。
- 多配置测试:通过配置多个AVD,在不同API级别或设备配置下验证应用,提前发现兼容性问题。
工作原理
Android模拟支持基于Devin的声明式配置系统。你需要在蓝图中添加Android SDK和模拟器,Devin的快照系统会构建一个预装所有组件的虚拟机。每个会话都从该快照启动,模拟器立即可用。
在会话中,Devin通过两种方式与模拟器交互:
- adb(命令行):用于安装APK、运行测试、捕获日志、截图等自动化任务。
- 计算机视觉(桌面):通过视觉方式点击、滑动、输入文本,适用于端到端UI测试和视觉验证。
模拟器窗口运行在Devin的桌面上,你可以通过Web应用的桌面标签实时观看Devin操作。
设置模拟器
设置模拟器有两种方式:
- 让Devin自动设置(推荐):启动会话并指示Devin设置Android模拟,Devin会分析项目、安装必要的SDK组件并配置模拟器。你只需审查并批准蓝图。
- 手动编写蓝图:如果你清楚需要的SDK组件和模拟器配置,可以手动编写蓝图,指定初始化步骤和维护命令。
典型的蓝图会安装Android SDK命令行工具、平台工具、构建工具、目标API级别的平台、模拟器及系统镜像。建议使用x86_64系统镜像以获得最佳性能。
使用模拟器
你可以随时用自然语言指示Devin进行测试,例如:“在Android模拟器上构建并运行应用”、“测试登录流程并发送录制”。Devin会启动模拟器,构建应用,并根据任务选择使用adb或计算机视觉进行交互。
该功能与Devin的测试与录制工作流无缝集成。创建PR后,Devin会提供测试选项,构建并运行应用,执行测试计划,并生成带注释的视频录制。开发者可以观看录制并放心合并。
此外,Devin会根据测试经验自动创建或更新技能(Skill),记录如何构建、启动和测试Android应用,从而在后续会话中节省时间并保证一致性。
蓝图示例
文档中提供了针对原生Android(Kotlin/Java + Gradle)和React Native的可复制蓝图模板,包含初始化脚本和维护命令。开发者可以直接粘贴使用。
总之,Devin的Android模拟支持将AI代理的能力延伸到了移动开发领域,为自动化测试、调试和验证提供了强大的本地化解决方案。