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

本文檔描述了測試實驗室的AVD,包括效益和已知限制。我們還提供有關如何在整個開發生命週期中測試您的應用程式的建議。測試實驗室AVD與Android Studio的AVD相似,但針對雲端測試的效能進行了最佳化,因此兩者之間存在一些差異。

帶有.rm或(ARM)後綴的測試實驗室AVD是高階模擬器,可提供以下好處:

  • 更快的測試執行時間

  • 螢幕尺寸和密度與Android Studio的AVD一致性

  • GPU支援加速圖形

下表描述了使用虛擬設備的好處:

益處描述用例)
高可用性使用虛擬設備測試時,您可以執行測試並更快地獲得測試結果。由於根據需要建立虛擬設備,因此您的測試幾乎立即開始,從而快速驗證您的應用程式。測試對應用程式的小更新或用於回歸測試。
較長的測試時間虛擬設備支援最多60分鐘的測試時間。在實體設備上的測試僅限於每台設備的測試持續時間為45分鐘。運行更長的測試
降低成本用於測試應用程式的每個虛擬設備的虛擬設備的價格為每小時$ 1。使用連續整合系統或檢查程式碼之前的日常測試。要了解更多信息,請查看測試實驗室的使用水平,配額和定價

使用虛擬設備測試您的應用程式

您可以使用虛擬設備測試您的應用程序,就像使用實體設備對其進行測試的方式相同。配置測試矩陣時,您可以為測試選擇虛擬設備。要了解有關使用測試實驗室運行測試的更多信息,請參見使用Firebase Test Lab開始對Android進行開始測試

查看支援的模型和API

若要查看測試實驗室支援的AVD模型和API,請執行以下命令:

gcloud firebase test android models list --filter=virtual

測試應用程式的最佳實踐

透過測試實驗室測試應用程式時,虛擬設備會增加您的選項範圍。我們建議在整個應用程式開發生命週期中使用以下最佳實踐來測試您的應用程式:

使用Android Studio模擬器或附加的實體設備

開發應用程式時,請使用Android Studio模擬器或附加的實體設備檢查每個建置以進行初步驗證。如果您有儀器測試,也可以透過測試實驗室提供的實體或虛擬設備從Android Studio執行這些測試。

在共享項目時,在每個代碼上使用CI系統更改

如果您從事大型項目,或者您為使用GitHub或類似網站共享的專案做出了貢獻,我們建議您使用連續整合(CI)系統。每次CI系統運行時或每個拉請求之前,每次運行的虛擬設備上測試您的應用程式。要了解有關使用CI系統使用測試實驗室的更多信息,請參閱使用與連續整合系統的Android測試實驗室

在發布重要的應用程式更新之前,請使用測試實驗室在實體設備上測試您的應用程式

在發布具有UI和功能重大變更的應用程式更新之前,我們建議您使用測試實驗室在實體設備上測試您的應用程式。這將有助於確保您的應用程式穩定並在各種流行的實體設備上表現穩定。在實體設備上進行測試還確保了依賴未經虛擬設備模擬的實體設備功能的任何應用程式功能的測試覆蓋範圍。要了解有關這些功能的更多信息,請參閱已知限制

虛擬設備更新

定期,Android團隊新增了新的虛擬設備影像,棄用舊設備,並更新現有的影像。我們將這些更新應用於虛擬設備影像,以協助確保您正在針對反映使用者體驗的最新Android版本進行測試。

在極少數情況下,這些更新可能導致測試意外失敗。當有可能破壞更新的已知更新時,測試實驗室將在發行說明中包含資訊。作為最佳實踐,我們建議您使用測試框架(例如,濃縮咖啡)對這些變更很強。如果不可能,我們建議您針對ARM虛擬設備,您可以期望更頻繁地更新。

已知的限制

某些實體設備功能目前未透過虛擬設備進行模擬,或被某些限制模擬。下表概述了目前在虛擬設備上無法使用或具有某些限制的功能:

特徵細節
應用二進位介面(ABI)並非所有設備都支援所有ABI。如果您使用Android NDK開發,請確保為目標裝置支援的ABIS產生程式碼(請參閱測試實驗室中的可用裝置)。要了解有關ABI管理的更多信息,請參見Android Abis

注意:如果您的測試矩陣中的測試標記為無效,則可能會發生這種情況,因為您的應用程式對裝置ABI不支援的本機程式碼有依賴性。

圖形效能Nexus和Pixel虛擬設備使用軟體圖形渲染。圖形密集型應用程式可以體驗到較低的效能。如果您的應用程式是圖形密集的,請考慮使用Sm和Medimphone.arm或實體設備使用Smallphone.Arm.Arm.ARM.ARM。
圖形API OpenGL ES 3.X不受支援在API等級以下的裝置上。新裝置與OpenGL/Vulkan API不相容,您可能會注意到圖形上的差異很小。
Google Play 商店應用程式Google Play商店應用程式不支援在ARM虛擬裝置上。
擴增實境(AR)功能在虛擬設備上不支援測試擴增實境(AR)功能。
較舊的API級別測試實驗室ARM虛擬設備不支援小於26的API等級。

下一步