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

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

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

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

带有.arm或 (ARM) 后缀的测试实验室 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 系统运行时或每次拉取请求之前,在虚拟设备上测试您的应用程序。要了解有关将 Test Lab 与 CI 系统结合使用的更多信息,请参阅将 Test Lab for 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。您可能会注意到图形的细微差别。

下一步