Catch up on everthing we announced at this year's Firebase Summit. Learn more

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

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

為什麼要使用虛擬設備?

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

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

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

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

測試應用的最佳實踐

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

  • 在Android Studio中:當開發應用程序,使用Android模擬器工作室或連接的物理設備來檢查每個版本的初步驗證。如果您有儀器測試,您還可以在測試實驗室提供的物理或虛擬設備上從 Android Studio 運行這些測試。
  • 使用測試實驗室與通用低分辨率媒體DPI(MDPI)虛擬設備:您可以在您的應用程序更迅速地與測試實驗室通用低分辨率MDPI電話虛擬比其他虛擬設備運行的設備測試,機器人和儀器測試。 MDPI 虛擬設備可用於 API 級別 23 及更高級別。以使用該設備從gcloud指令行界面,使用NexusLowRes模型ID。
  • 在共享項目時,每個代碼變更使用持續集成(CI)系統:如果你在一個大的項目上工作,或者如果你正在使用GitHub的或類似的網站共享項目做出貢獻,我們建議您使用持續集成(CI)系統並在每次 CI 系統運行時或每次拉取請求之前在虛擬設備上測試您的應用程序。要了解更多關於使用測試實驗室與CI系統,請使用測試實驗室為Android與持續集成系統
  • 釋放顯著應用更新之前:我們推薦使用測試實驗室鬆開在UI和功能顯著變化的應用程序更新之前測試您在物理設備上的應用程序。這將有助於確保您的應用程序在各種流行的物理設備上運行良好,並確保對依賴於非虛擬設備模擬的物理設備功能的任何應用程序功能的測試覆蓋率。要了解更多有關這些功能,請參見已知限制

已知限制

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

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

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

注:虛擬設備測試畫目前以每秒一幀運行,使它們比的物理設備的測試視頻越不平滑。
OpenGL ES 3.x OpenGL ES 3.x 和更高版本的圖形庫在虛擬設備上不可用。
相機 HAL v3要了解更多關於Android相機HAL V3.0,請參閱相機HAL V3概述
虛擬專用網絡 (VPN)目前,虛擬設備不支持 VPN 使用。