開始使用 Android 虛擬裝置進行測試

本文件將說明 Test Lab 的 AVD、 包括福利和已知限制此外,我們也會提供 瞭解如何在開發生命週期中測試應用程式。Test Lab AVD 與 Android 版 AVD 類似 Studio,但可透過雲端測試盡可能提高效能,因此在 這兩者之間有些許差異

後置字串為 .arm 或 (Arm) 的 Test Lab AVD 屬於進階版本 模擬器具有以下優點:

  • 測試執行時間更快

  • 螢幕大小和密度與 Android Studio 的 AVD 一致 一致性

  • GPU 支援的加速圖形

下表列出虛擬裝置的優點:

優點 說明 用途
高可用性 如要更快速地執行測試及取得測試結果, 虛擬裝置中因為虛擬裝置是隨選即用的 測試幾乎就能立即開始,方便您快速驗證應用程式。 測試對應用程式進行小幅更新,或進行迴歸測試。
延長測試時長 虛擬裝置支援測試時間長度 最長可達 60 分鐘在實體裝置上測試有時間限制 45 分鐘 。 執行時間較長的測試
降低成本 虛擬裝置的費用為每部虛擬裝置每小時 $1 美元 測試應用程式。 使用持續整合系統進行每日測試,或是在檢查前 程式碼。詳情請參閱 Test Lab 的用量等級、配額和定價

使用虛擬裝置測試應用程式

您可以利用與測試虛擬裝置相同的方式,使用虛擬裝置測試應用程式 實體裝置。您可以在 設定測試矩陣如要進一步瞭解如何使用 Test Lab:請參閱開始測試 Android 裝置: Firebase Test Lab

查看支援的模型和 API

如要查看 Test Lab 支援的 AVD 模型和 API,請執行下列指令:

gcloud firebase test android models list --filter=virtual

測試應用程式的最佳做法

使用以下工具測試應用程式時,虛擬裝置提供更多選擇 Test Lab。建議您採用以下最佳做法 整個應用程式開發生命週期的階段:

使用 Android Studio 模擬器或連接的實體裝置

開發應用程式時,請使用 Android Studio 模擬器或 檢查每個版本,檢查每個版本。如果 檢測設備測試時,您也可以在 Test Lab 提供的實體或虛擬裝置。

在處理共用專案時,針對每個程式碼變更使用持續整合系統

如果您處理的是大型專案,或是對共用專案有所貢獻 建議您使用持續整合 (CI) 系統每次持續整合系統都能在虛擬裝置上測試應用程式 或是在每個提取要求前執行進一步瞭解如何搭配使用 Test Lab 和持續整合 系統,請參閱「使用 Test Lab for Android 搭配持續整合 系統

在發布重大應用程式更新前,先透過 Test Lab 在實體裝置上測試應用程式

在發布有重大 UI 和功能變更的應用程式更新前, 建議您使用 Test Lab 對應用程式 實體裝置。這有助於確保應用程式的穩定版本 在各種常見的實體裝置上效能都十分出色。在實體上測試 裝置也可確保任何需要仰賴應用程式的功能進行測試 非虛擬裝置模擬的實體裝置功能。學習 如要進一步瞭解這些功能,請參閱已知限制

虛擬裝置更新

Android 團隊會定期新增虛擬裝置映像檔,並淘汰舊的 並更新現有項目我們會將這些更新套用至虛擬裝置 協助確保你使用的是最新版本的 Android 測試映像檔 反映使用者這點十分重要

在極少數情況下,這些更新可能會導致測試意外失敗。如果有 已知可能的破壞性更新,Test Lab 會在 版本資訊。 最佳做法是運用測試架構,例如 Espresso 。 如果不可行,建議您指定 Arm 虛擬裝置, 應可降低更新頻率

已知限制

某些實體裝置功能目前並未由虛擬裝置模擬, 或僅做一些限制的模擬下表摘要說明各項功能 但可以透過 特定限制:

功能 詳細資料
應用程式二進位檔介面 (ABI) 並非所有裝置都支援所有 ABI。如果發生以下情況: 使用 Android NDK 進行開發;請務必為 指定裝置支援的 ABI (請參閱「可以使用 裝置 Test Lab)。如要進一步瞭解 ABI 管理,請參閱 Android ABI

注意:如果測試矩陣中的測試標示為「無效」,則 可能發生 因為您的應用程式含有 裝置 ABI。

顯示卡效能 Nexus 和 Pixel 虛擬裝置採用的 軟體圖形轉譯圖形密集型應用程式 效能不佳如果您的應用程式需要大量圖形處理,請考慮 改用 SmallPhone.arm、MediumPhone.arm 或實體裝置來操作。
圖形 API 裝置不支援 OpenGL ES 3.x 。新版裝置與 OpenGL/Vulkan API 時,您可能會發現圖形上的細微差異。
Google Play 商店應用程式 Arm 虛擬裝置不支援 Google Play 商店應用程式。
擴增實境 (AR) 功能 測試擴增實境 虛擬裝置不支援實境 (AR) 功能。
舊版 API 級別 Test Lab Arm 虛擬裝置不支援低於 26 的 API 級別。

後續步驟