获取我们在 Firebase 峰会上发布的所有信息,了解 Firebase 可如何帮助您加快应用开发速度并满怀信心地运行应用。了解详情

开始使用 Android 虚拟设备进行测试

本文档介绍了测试实验室的 AVD,包括优点和已知限制。我们还提供有关如何在整个开发生命周期中测试您的应用程序的建议。

虽然测试实验室 AVD 类似于Android Studio的 AVD,但两者之间存在一些差异。例如,测试实验室中的 AVD 具有模拟数据连接而不是 Wi-Fi 连接。

带有.arm或 (ARM) 后缀的 Test Lab AVD 是高级仿真器,具有以下优点:

  • 更快的测试执行时间

  • 屏幕尺寸和密度与 Android Studio 的 AVD 保持一致以保持一致性

与其他类型的物理设备相比,使用带有.arm或 (ARM) 后缀的 AVD 具有以下优势:

益处描述用例)
高可用性使用虚拟设备进行测试时,您可以更快地运行测试并获得测试结果。由于虚拟设备是按需创建的,因此您的测试几乎可以立即开始,从而可以快速验证您的应用程序。测试应用程序的小更新,或进行回归测试。
更长的测试持续时间物理设备上的测试限制为每台设备的测试持续时间为 45 分钟。虚拟设备支持长达 60 分钟的测试持续时间。运行更长的测试。
降低成本对于用于测试您的应用程序的每个虚拟设备,虚拟设备的价格为每小时 1 美元。使用持续集成系统进行日常测试,或在签入代码之前进行测试。要了解更多信息,请参阅测试实验室的使用水平、配额和定价

使用虚拟设备测试您的应用

您可以像使用物理设备测试应用程序一样使用虚拟设备测试您的应用程序。选择测试维度时只需选择虚拟设备即可配置测试矩阵。要了解有关使用测试实验室运行测试的更多信息,请参阅开始使用 Firebase 测试实验室测试 Android

查看支持的模型和 API

要查看 Test Lab 支持的 AVD 模型和 API,请运行以下命令:

gcloud firebase test android models list --filter="virtual OR emulator"

测试应用的最佳做法

当您使用测试实验室测试您的应用程序时,虚拟设备增加了您的选择范围。我们建议使用本节中的最佳做法在整个应用开发生命周期中测试您的应用。

使用 Android Studio 模拟器或连接的物理设备

在开发您的应用程序时,请使用 Android Studio 模拟器或连接的物理设备来检查每个构建以进行初始验证。如果您有仪器测试,您还可以在测试实验室提供的物理或虚拟设备上从 Android Studio 运行这些测试。

在处理共享项目时对每个代码更改使用 CI 系统

如果您从事大型项目,或者如果您为使用 GitHub 或类似服务共享的项目做出贡献,我们建议您使用持续集成 (CI) 系统。

每次 CI 系统运行时或每次拉取请求之前,在虚拟设备上测试您的应用程序。要了解有关将测试实验室与 CI 系统结合使用的更多信息,请参阅将 Android 测试实验室与持续集成系统结合使用

在发布重要的应用更新之前,使用测试实验室在物理设备上测试您的应用

在发布具有重大 UI 和功能更改的应用程序更新之前,我们建议您使用测试实验室在物理设备上测试您的应用程序。这将有助于确保您的应用程序在各种流行的物理设备上稳定且高效。在物理设备上进行测试还可以确保测试覆盖任何依赖于虚拟设备未模拟的物理设备功能的应用程序功能。要了解有关这些功能的更多信息,请参阅已知限制

已知限制

某些物理设备特性目前无法通过虚拟设备模拟,或者模拟时存在一些限制。下表总结了当前在虚拟设备上不可用或在某些限制下可用的功能。

特征细节
应用程序二进制接口 (ABI)并非所有设备都支持所有 ABI。如果您使用 Android NDK 进行开发,请确保为您的目标设备支持的 ABI 生成代码。有关详细信息,请参阅测试实验室中的可用设备。要了解有关 ABI 管理的更多信息,请参阅Android ABI 。要了解设备支持哪些 ABI,请参阅检查可用的测试设备

注意:如果您的测试矩阵中的测试标记为无效,这可能是因为您的应用依赖于设备 ABI 不支持的本机代码。

图形性能Nexus 和 Pixel 虚拟设备使用软件图形渲染。图形密集型应用程序的性能会降低。如果您的应用是图形密集型应用,请改用SmallPhone.armMediumPhone.arm模型或物理设备。
屏幕录制Nexus 和 Pixel 设备上的屏幕录制是每秒 1 帧。
图形 API API 级别 29 以下的设备不支持 OpenGL ES 3.x。较新的设备并非 100% 兼容 OpenGL/Vulkan API。您可能会注意到图形中的细微差别。

下一步