构建和测试您的 Android 应用包

Android 应用包是构建、发布和分发您的应用到多个设备配置的推荐方式。应用包还支持高级功能,例如 Play 功能交付、Play 资源交付和即时体验。无论您是刚开始采用应用包,还是正在为更高级的用例进行开发,此页面都提供了各种策略的概述,您可以利用这些策略在开发的每个阶段测试您的应用。

如果您不熟悉应用包,请阅读 关于 Android 应用包

使用 Android Studio 构建应用包

如果您使用的是 Android Studio,您可以 构建您的项目 为已签名的应用包,只需点击几下即可。如果您不使用 IDE,您可以 从命令行构建应用包。然后,将您的应用包上传 到 Play 管理中心以测试或发布您的应用。

要构建应用包,请按照以下步骤操作

  1. 下载 Android Studio 3.2 或更高版本——这是添加功能模块和构建应用包的最简单方法。

  2. 使用 Android Studio 构建 Android 应用包。您还可以通过 修改您的运行/调试配置 并选择部署 **应用包中的 APK** 选项,从应用包将您的应用部署到已连接的设备。请记住,与仅构建和部署 APK 相比,使用此选项会导致更长的构建时间。

  3. 通过使用它生成部署到设备的 APK 来部署您的 Android 应用包

  4. 加入 Play 应用签名。否则,您无法将应用包上传到 Play 管理中心。

  5. 将您的应用包发布到 Google Play.

使用 Android Studio 部署应用包

您可以将您的应用构建为 Android 应用包并将其直接从 IDE 部署到已连接的设备。由于 IDE 和 Google Play 使用相同的工具在设备上提取和安装 APK,因此这种本地测试策略有助于您验证以下内容:

  • 您可以将应用构建为应用包。
  • IDE 能够从应用包中为目标设备配置提取 APK。
  • 您分成功能模块的功能与应用的基本模块兼容。
  • 您的应用按预期在目标设备上运行。

默认情况下,当您将应用从 Android Studio 部署到已连接的设备时,IDE 会为目标设备配置构建和部署 APK。这是因为为特定设备配置构建 APK 比为应用支持的所有设备配置构建应用包更快。

如果您想测试将您的应用构建为应用包,然后将 APK 从该应用包部署到已连接的设备,则需要 编辑默认运行/调试配置,如下所示:

  1. 从菜单栏中选择 **运行 > 编辑配置**。
  2. 从左侧窗格中选择运行/调试配置。
  3. 在右侧窗格中,选择 **常规** 选项卡。
  4. 从 **部署** 旁边的下拉菜单中选择 **应用包中的 APK**。
  5. 如果您的应用包含您想要测试的即时应用体验,请选中 **作为即时应用部署** 旁边的框。
  6. 如果您的应用包含功能模块,您可以通过选中每个模块旁边的框来选择要部署的模块。默认情况下,Android Studio 部署所有功能模块并始终部署基本应用模块。
  7. 单击 **应用** 或 **确定**。

当您从菜单栏中选择 **运行 > 运行** 时,Android Studio 会构建一个应用包并使用它仅部署已连接设备和您选择的模块所需的 APK。

从命令行构建和测试

Android Studio 和 Google Play 用于构建应用包并将其转换为 APK 的工具可通过命令行访问。也就是说,您可以从命令行调用这些工具,以从 Android 应用包本地构建和部署您的应用。

这些本地测试工具对以下方面很有用:

  • 将应用包的可配置构建集成到您的持续集成 (CI) 服务器或其他自定义构建环境中。
  • 自动将您的应用从应用包部署到一个或多个连接的测试设备。
  • 模拟从 Google Play 下载您的应用到连接设备。

从命令行构建应用包

如果您想从命令行构建应用包,可以使用 bundletool 或 Android Gradle 插件。

Android Gradle 插件:此插件由 Google 编写,包含在 Android Studio 中,也可作为 Maven 存储库提供。该插件定义了您可以从命令行执行的命令来构建应用包。虽然该插件提供了构建应用包最简单的方法,但您需要通过 bundletool 来将您的应用部署到测试设备。

bundletool此命令行工具是 Android Gradle 插件和 Google Play 用于将您的应用构建为应用包的工具,它 可在 GitHub 上获取。请记住,使用 bundletool 构建应用包比简单地使用插件运行 Gradle 任务要复杂得多。这是因为该插件会自动执行构建应用包的某些先决条件。但是,此工具对于希望在其 CI 工作流程中生成应用包构件的开发者很有用。

要开始使用任一方法构建应用包,请阅读 从命令行构建您的应用

从命令行部署您的应用

虽然 Android Gradle 插件是从命令行构建应用包最简单的方法,但您应该使用 bundletool 将应用从应用包部署到连接的设备。这是因为 bundletool 提供了专门设计的命令,可帮助您测试应用包并模拟通过 Google Play 的分发。

以下是可以使用 bundletool 测试的不同类型的场景:

在 Play 上测试您的应用包

虽然此页面上描述的其他测试策略不需要您将应用上传到 Play,但使用 Play Console 进行测试可以最准确地反映用户体验。无论您是想与内部利益相关者、内部质量保证团队、封闭的 Alpha 测试人员组还是更广泛的 Beta 测试人员分享您的应用,Play Console 都能为您提供多种测试策略。

出于以下原因,请使用 Play Console 测试您的应用:

  • 您需要最准确地反映下载您的应用以及(可选)按需安装功能的用户体验。
  • 您想为一组测试人员提供轻松访问。
  • 您想将测试范围限定为质量保证、Alpha 和 Beta 测试人员。
  • 您想访问可以测试设备的应用上传历史记录。例如,如果您想比较性能回归的版本。

快速分享您的应用链接

虽然 Play Console 测试轨道提供了一种通过正式测试阶段推进您的应用的方法,但有时您可能想通过不太正式的渠道(例如电子邮件或短信)快速与受信任的测试人员分享您的应用。

通过将您的应用包上传到 Play Console 快速分享 页面,您可以生成一个易于与他人分享的 URL。通过这种方式分享您的应用可以带来以下好处:

  • 授权您团队中的任何人上传测试版本,而无需授予他们访问 Play Console 中您的应用的权限。
  • 测试人员只能访问与他们共享的特定测试版本的应用。
  • 测试版本可以使用任何密钥签名或根本不签名,因此上传者也不需要访问您的生产密钥或上传密钥。
  • 版本代码无需唯一,因此您可以重复使用现有版本代码,无需递增即可上传。
  • 测试自定义交付选项,例如按需下载功能和 应用内更新
  • 通过共享您的应用的可调试版本来捕获重要数据和日志。

当用户从他们的 Android 设备点击 URL 时,该设备会自动打开 Google Play 商店以下载测试版本的应用。要开始使用并了解更多关于此测试策略的功能和限制的信息,请参阅 使用 URL 分享您的应用 或观看下面的视频。

下载应用的历史版本

您和您的测试人员还可以下载您已上传到生产或测试轨道的应用的历史版本。例如,如果您想快速测试应用的早期版本以检查性能回归,这将非常有用。

访问 Play Console 的 **应用包浏览器** 页面,并导航到您要下载的任何版本的下载选项卡以复制安装链接。或者,如果您知道要测试的应用版本的包名称和版本代码,只需从您的测试设备访问以下链接:

https://play.google.com/apps/test/package-name/version-code

将您的应用上传到测试轨道

当您上传应用并在 Play Console 中创建版本时,您可以在推送到生产环境之前通过多个测试阶段来推进您的版本。

  • 内部测试:创建内部测试版本以快速分发您的应用,以便进行内部测试和质量保证检查。
  • 封闭测试:创建封闭测试版本,以便使用更多测试人员测试应用的预发布版本。在使用少量员工或受信任的用户进行测试后,您可以将测试扩展到开放测试。在您的应用版本页面上,Alpha 轨道将作为您的初始封闭测试提供。如果需要,您还可以创建和命名其他封闭轨道。
  • 开放测试:在您测试了封闭测试版本后,创建开放测试版本。您的开放测试版本可以在您的应用上线之前包含更广泛的用户进行测试。

通过这些测试阶段推进您的应用,可以让您在将应用发布到生产环境之前向更广泛的测试人员开放您的应用。有关 Play Console 测试轨道的更多信息,请访问 设置开放式、封闭式或内部测试

使用预发布报告识别问题

当您将 APK 或应用包上传到开放式或封闭式轨道时,您可以识别运行不同 Android 版本的各种设备的潜在问题。

Play Console 上的预发布报告可帮助您识别以下方面的潜在问题:

  • 稳定性
  • Android 兼容性
  • 性能
  • 辅助功能
  • 安全漏洞

上传应用包后,测试设备会自动启动并爬取您的应用几分钟。爬取会在您的应用上每隔几秒钟执行基本操作,例如键入、点击和滑动。

测试完成后,您的结果将显示在 Play Console 的 **预发布报告** 部分。要了解更多信息,请参阅 Play Console 帮助主题,了解如何 使用预发布报告识别问题

浏览和下载特定设备配置的 APK

上传应用包后,Play Console 会自动为您的应用支持的所有设备配置生成拆分 APK 和多 APK。在 Play Console 中,您可以使用 **应用包浏览器** 查看 Google Play 生成的所有 APK 构件,检查支持的设备和应用的交付配置等数据,并下载生成的 APK 以在本地部署和测试。

要了解更多信息,请阅读 Play Console 帮助主题,了解如何 查看您的应用包详细信息

使用 Firebase 应用分发测试您的应用包

Firebase 应用分发 使您可以轻松地将应用的预发布版本分发给受信任的测试人员,以便在发布之前获得宝贵的反馈。

应用分发允许您在一个中央中心管理所有预发布版本,并且它使您可以灵活地直接从控制台分发这些版本,或者使用已成为您工作流程一部分的命令行工具。

您需要采取一些步骤才能为 Firebase 应用分发启用您的项目。查看 Firebase 文档的 准备工作 部分。设置项目后,选择您希望如何将应用分发与您的工作流程集成。