Check out what’s new from Firebase at Google I/O 2022. Learn more

開始使用 Android 虛擬設備進行測試

Firebase 測試實驗室的 Android 虛擬設備 (AVD) 是對 Android 設備的高保真模擬。測試實驗室中的 AVD 具有最高的可用性,並且對於日常開發或持續集成測試最有用。它們類似於Android Studio 的 AVD,但針對雲測試的性能進行了優化,因此兩者之間存在一些差異(例如,測試實驗室中的 AVD 具有模擬數據連接而不是 WiFi 連接)。

為什麼要使用虛擬設備?

與物理設備相比,虛擬設備具有以下優勢:

  • 高可用性:使用虛擬設備進行測試時,您可以更快地運行測試並獲得測試結果。由於虛擬設備是按需創建的,因此您的測試幾乎可以立即開始,從而為您的應用程序提供快速驗證。這使得虛擬設備成為測試應用小更新或回歸測試的理想選擇。
  • 更長的測試持續時間:物理設備上的測試僅限於每個設備上 45 分鐘的測試持續時間。虛擬設備支持長達 60 分鐘的測試持續時間,這使得它們適合運行更長的測試,尤其適合測量應用程序的性能。
  • 成本更低:用於測試您的應用程序的每個虛擬設備的虛擬設備價格為每小時 1 美元。由於成本低廉,虛擬設備非常適合使用持續集成系統進行日常測試,或者在簽入代碼之前進行測試。要了解更多信息,請參閱測試實驗室計費

如何使用虛擬設備測試您的應用

您可以使用虛擬設備測試您的應用程序,就像使用物理設備測試它一樣。當您選擇測試維度來配置測試矩陣時,只需選擇虛擬設備。

測試應用的最佳實踐

使用測試實驗室測試您的應用程序時,虛擬設備增加了您的選擇範圍。我們建議在整個應用開發生命週期中使用以下方法來測試您的應用:

  • 在 Android Studio 中:開發應用程序時,使用 Android Studio 模擬器或連接的物理設備檢查每個構建以進行初始驗證。如果您有儀器測試,您還可以從 Android Studio 在測試實驗室提供的物理或虛擬設備上運行這些測試。
  • 將測試實驗室與通用低分辨率中等 DPI (MDPI) 虛擬設備一起使用:與其他虛擬設備相比,您可以使用測試實驗室通用低分辨率 MDPI 電話虛擬設備更快地在您的應用程序上運行 Robo 測試和儀器測試。 MDPI 虛擬設備在 API 級別 23 及更高級別上可用。要從 gcloud 命令行界面使用此設備,請使用NexusLowRes模型 ID。
  • 在處理共享項目時,對每次代碼更改使用持續集成 (CI) 系統:如果您處理大型項目,或者如果您為使用 GitHub 或類似站點共享的項目做出貢獻,我們建議您使用持續集成 (CI)系統並在每次 CI 系統運行時或每次拉取請求之前在虛擬設備上測試您的應用程序。要了解有關將 Test Lab 與 CI 系統結合使用的更多信息,請參閱將 Test Lab for Android 與持續集成系統一起使用
  • 在發布重大應用更新之前:我們建議在發布對 UI 和功能進行重大更改的應用更新之前,使用測試實驗室在物理設備上測試您的應用。這將有助於確保您的應用程序在各種流行的物理設備上良好運行,並確保對依賴於虛擬設備未模擬的物理設備功能的任何應用程序功能的測試覆蓋率。要了解有關這些功能的更多信息,請參閱已知限制

已知限制

某些物理設備功能當前無法由虛擬設備模擬,或者在模擬時存在一些限制。下表總結了當前在虛擬設備上不可用或在某些限制下可用的功能:

特徵細節
非 x86 應用程序二進制接口 (ABI)虛擬設備僅支持 x86 ABI。如果您使用 Android NDK 進行開發,請確保為 x86 指令集生成代碼。要了解更多信息,請參閱ABI 管理

注意:如果您的測試矩陣中的某些測試被標記為Invalid ,這可能是因為您的應用程序依賴於原生 ARM 代碼。
視頻編解碼目前,虛擬設備僅支持 H264 視頻解碼。不支持視頻編碼。

注意:虛擬設備測試的視頻目前以每秒一幀的速度運行,這使得它們不如物理設備測試的視頻流暢。
OpenGL ES 3.x OpenGL ES 3.x 和更高版本的圖形庫在虛擬設備上不可用。
相機 HAL v3要了解有關 Android Camera HAL v3.0 的更多信息,請參閱Camera HAL v3 概述
虛擬專用網絡 (VPN)目前,虛擬設備不支持使用 VPN。