Google is committed to advancing racial equity for Black communities. See how.
本頁面由 Cloud Translation API 翻譯而成。
Switch to English

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

通過Firebase Test Lab,您現在可以選擇使用虛擬設備進行測試,這是新的虛擬設備Beta程序的一部分。虛擬設備是特定Android Nexus設備的高保真虛擬仿真。這些設備具有最高的調度可用性,最適合日常開發或持續集成測試。

為什麼要使用虛擬設備?

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

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

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

您可以使用虛擬設備測試應用程序,就像使用物理設備測試應用程序一樣。選擇測試尺寸以配置測試矩陣時,只需選擇虛擬設備。

測試應用的最佳做法

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

  • 在Android Studio中:開發應用程序時,請使用Android Studio模擬器或連接的物理設備檢查每個內部版本以進行初始驗證。如果您進行了儀器測試,則還可以從Android Studio在Test Lab提供的物理或虛擬設備上運行這些測試。
  • 將Test Lab與通用的低分辨率中等DPI(MDPI)虛擬設備一起使用:與其他虛擬設備相比,使用Test Lab的通用低分辨率MDPI電話虛擬設備可以更快地在您的應用上運行Robo測試和測試。 MDPI虛擬設備在API級別23及更高版本中可用。要從gcloud命令行界面使用此設備,請使用NexusLowRes型號ID。
  • 在共享項目上工作時,請在每個代碼更改上使用持續集成(CI)系統:如果您在大型項目上工作,或者為使用GitHub或類似站點共享的項目做貢獻,我們建議您使用持續集成(CI)每次運行CI系統時,或在每次請求請求之前,在虛擬設備上對系統進行測試並測試您的應用程序。要了解有關將Test Lab與CI系統結合使用的更多信息,請參見將Test Lab for Android與持續集成系統結合使用
  • 在發布重要的應用程序更新之前:我們建議您使用Test Lab在物理設備上測試您的應用程序,然後再發布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使用。