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代理的能力延伸到了移動開發領域,為自動化測試、除錯和驗證提供了強大的本地化解決方案。