Android 应用包是构建、发布和分发您的应用到多个设备配置的推荐方式。应用包还支持高级功能,例如 Play Feature Delivery、Play Asset Delivery 和即时体验。无论您是刚开始采用应用包还是开发更高级的用例,本页面都提供了在开发的每个阶段测试应用的各种策略的概述。
如果您不熟悉应用包,请阅读 关于 Android 应用包。
使用 Android Studio 构建应用包
如果您使用的是 Android Studio,只需点击几下即可 构建您的项目 作为签名应用包。如果您不使用 IDE,则可以 从命令行构建应用包。然后,将您的应用包上传 到 Play 管理中心以测试或发布您的应用。
要构建应用包,请按照以下步骤操作
下载 Android Studio 3.2 或更高版本——这是添加功能模块和构建应用包的最简单方法。
使用 Android Studio 构建 Android 应用包。您还可以通过 修改运行/调试配置 并选择从应用包部署 APK 的选项,将应用部署到连接的设备。请记住,使用此选项会导致与仅构建和部署 APK 相比,构建时间更长。
- 如果您不使用 IDE,则可以改为 从命令行构建应用包。
部署您的 Android 应用包,使用它生成 APK,然后将其部署到设备。
加入 Play 应用签名。否则,您无法将应用包上传到 Play 管理中心。
使用 Android Studio 部署应用包
您可以在 IDE 中将应用程序构建为 Android 应用包并将其部署到连接的设备。由于 IDE 和 Google Play 使用相同的工具在设备上提取和安装 APK,因此这种本地测试策略有助于您验证以下内容
- 您可以将应用程序构建为应用包。
- IDE 能够从应用包中提取针对目标设备配置的 APK。
- 您将功能模块分离的功能与应用程序的基本模块兼容。
- 您的应用程序按预期在目标设备上运行。
默认情况下,当您从 Android Studio 部署到连接的设备时,IDE 会为目标设备配置构建和部署 APK。这是因为为特定设备配置构建 APK 比为应用程序支持的所有设备配置构建应用包更快。
如果要测试将应用程序构建为应用包,然后将 APK 从该应用包部署到连接的设备,则需要 编辑默认的运行/调试配置,如下所示
- 从菜单栏中选择运行>编辑配置。
- 从左侧窗格中选择运行/调试配置。
- 在右侧窗格中,选择常规选项卡。
- 从部署旁边的下拉菜单中选择来自应用包的 APK。
- 如果您的应用程序包含要测试的即时应用体验,请选中部署为即时应用旁边的框。
- 如果您的应用程序包含功能模块,您可以选中每个模块旁边的框来选择要部署的模块。默认情况下,Android Studio 会部署所有功能模块并始终部署基本应用程序模块。
- 单击应用或确定。
当您从菜单栏中选择运行>运行时,Android Studio 会构建应用包并使用它仅部署连接设备和您选择的模块所需的功能模块。
从命令行构建和测试
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
测试的不同类型的场景
- 生成 APK 集,其中包含针对应用程序支持的所有设备配置的拆分 APK。在
bundletool
可以将应用程序部署到连接的设备之前,通常需要构建 APK 集。- 如果您不想构建应用程序的所有拆分 APK 集,您可以 根据连接的设备或设备规范 JSON 生成特定于设备的 APK 集。
- 从 APK 集将应用程序部署 到连接的设备。
bundletool
使用 adb 来确定每个设备配置所需的拆分 APK,并将这些 APK 部署到设备。如果您有多个设备,您还可以将设备 ID 传递给bundletool
以定位特定设备。 - 本地测试功能交付选项。您可以使用
bundletool
模拟您的设备从 Google Play 下载和安装功能模块,而无需实际将应用程序发布到 Play 管理中心。如果您想在本地测试应用程序如何处理按需模块下载请求和失败,这将非常有用。 - 估计应用程序的下载大小,以针对特定设备配置。这有助于更好地了解下载应用程序的用户体验,并检查应用程序是否满足应用包的 压缩下载大小限制 或 启用即时体验。
在 Play 上测试您的应用包
虽然本页上描述的其他测试策略不需要您将应用程序上传到 Play,但使用 Play 管理中心进行测试可以提供最准确的用户体验。无论您是想与内部利益相关者、内部 QA 团队、一小部分 Alpha 测试人员还是更广泛的 Beta 测试人员共享应用程序,Play 管理中心都为您提供了多种测试策略。
出于以下原因,使用 Play 管理中心测试应用程序
- 您需要最准确地了解下载应用程序的用户体验,并可以选择按需安装功能。
- 您需要为一组测试人员提供轻松的访问权限。
- 您需要将测试范围限定为 QA、Alpha 和 Beta 测试人员。
- 您需要访问可以在设备上测试的应用程序上传历史记录。例如,如果您想比较版本以查找性能回归。
快速通过 URL 共享您的应用程序
虽然 Play 管理中心测试轨道提供了一种方法来推进应用程序通过正式测试阶段,但有时您可能想通过不太正式的渠道(例如电子邮件或短信)快速与值得信赖的测试人员共享应用程序。
通过将应用程序包上传到 Play 管理中心 快速共享 页面,您可以生成一个 URL,您可以轻松地与他人共享。通过这种方式共享应用程序可以提供以下好处
- 授权您团队中的任何人上传测试构建,而无需让他们访问 Play 管理中心中的应用程序。
- 测试人员只能访问与他们共享的应用程序的特定测试版本。
- 测试构建可以使用任何密钥签名或根本不签名,因此上传者也不需要访问您的生产密钥或上传密钥。
- 版本代码不需要是唯一的,因此您可以重复使用现有版本代码,而无需将其递增来上传。
- 测试自定义交付选项,例如按需下载功能和 应用内更新。
- 通过共享应用程序的可调试版本来捕获重要数据和日志。
当用户从其 Android 设备上单击 URL 时,设备会自动打开 Google Play 商店以下载应用程序的测试版本。要开始使用,并详细了解此测试策略的功能和限制,请参阅 通过 URL 共享您的应用程序 或观看以下视频。
下载应用程序的历史版本
您和您的测试人员还可以下载您上传到生产或测试轨道上的应用程序的历史版本。例如,如果您想快速测试应用程序的早期版本以检查性能回归,这将非常有用。
访问 Play 管理中心应用包资源管理器页面,然后导航到要下载的任何版本的下载选项卡以复制安装链接。或者,如果您知道要测试的应用程序版本的包名称和版本代码,只需从您的测试设备访问以下链接
https://play.google.com/apps/test/package-name/version-code
将您的应用程序上传到测试轨道
当您上传应用程序并在 Play 管理中心创建发布时,您可以在将应用程序推送到生产环境之前通过多个测试阶段推进发布
- 内部测试:创建内部测试发布以快速分发您的应用程序以进行内部测试和质量保证检查。
- 封闭式:创建封闭式发布以使用更大的测试人员组测试应用程序的预发布版本。在使用较小的一组员工或值得信赖的用户进行测试后,您可以将测试扩展到开放式发布。在您的应用程序发布页面上,Alpha 轨道将作为您的初始封闭式测试提供。如果需要,您还可以创建和命名其他封闭式轨道。
- 开放式:在测试封闭式发布后,创建开放式发布。您的开放式发布可以包含更广泛的用户范围以进行测试,然后再将应用程序发布到生产环境中。
通过每个测试阶段推进应用程序可以让您在将应用程序发布到生产环境之前向更广泛的测试人员开放应用程序。有关 Play 管理中心测试轨道的更多信息,请访问 设置开放式、封闭式或内部测试。
使用预发布报告识别问题
当您将 APK 或应用包上传到开放式或封闭式轨道时,您可以识别运行不同版本 Android 的各种设备可能出现的问题。
Play 管理中心上的预发布报告可以帮助您识别以下方面的潜在问题
- 稳定性
- Android 兼容性
- 性能
- 无障碍
- 安全漏洞
上传应用包后,测试设备会自动启动并在几分钟内抓取您的应用程序。抓取每隔几秒钟对您的应用程序执行基本操作,例如键入、点击和滑动。
测试完成后,您的结果将显示在 Play 管理中心的预发布报告部分。要了解更多信息,请参阅 Play 管理中心帮助主题,了解如何 使用预发布报告识别问题。
浏览和下载针对特定设备配置的 APK
当您上传应用包时,Play 管理中心会自动为您的应用支持的所有设备配置生成拆分 APK 和多 APK。在 Play 管理中心中,您可以使用 **应用包资源管理器** 查看 Google Play 生成的所有 APK 资源,检查数据(如受支持的设备和应用的交付配置),并下载生成的 APK 以在本地部署和测试。
要了解更多信息,请阅读 Play 管理中心帮助主题中的 查看您的应用包详细信息 部分。
使用 Firebase 应用分发测试您的应用包
Firebase 应用分发 使您可以轻松地将应用的预发布版本分发给值得信赖的测试人员,以便您在发布之前获得宝贵的反馈。
应用分发允许您在一个中心枢纽中管理所有预发布版本,并让您能够从控制台或使用您工作流程中已有的命令行工具直接分发这些版本。
您需要执行一些步骤才能为 Firebase 应用分发启用您的项目。请查看 Firebase 文档的 开始之前 部分。在设置好项目后,选择您要如何将应用分发集成到您的工作流程中