Android 应用包是用于构建、发布和分发您的应用以适应多种设备配置的推荐方式。应用包还支持高级功能,例如 Play 功能交付、Play 资产交付和免安装体验。无论您是刚开始采用应用包,还是正在开发更高级的用例,本页面都将概述在每个开发阶段测试您的应用的各种可用策略。
如果您是应用包新手,请阅读关于 Android 应用包。
使用 Android Studio 构建应用包
如果您使用的是 Android Studio,只需点击几下即可将您的项目构建为签名的应用包。如果您不使用 IDE,可以从命令行构建应用包。然后,将您的应用包上传到 Play 管理中心以测试或发布您的应用。
若要构建应用包,请按照以下步骤操作
下载 Android Studio 3.2 或更高版本—这是添加功能模块和构建应用包的最简单方法。
使用 Android Studio 构建 Android 应用包。您还可以通过修改运行/调试配置并选择部署“从应用包生成 APK”选项,将应用包部署到连接的设备。请注意,与仅构建和部署 APK 相比,使用此选项会导致更长的构建时间。
- 如果您不使用 IDE,则可以改为从命令行构建应用包。
部署您的 Android 应用包,通过它生成部署到设备的 APK。
注册 Google Play 应用签名。否则,您无法将应用包上传到 Play 管理中心。
使用 Android Studio 部署应用包
您可以直接从 IDE 将您的应用构建为 Android 应用包,并将其部署到连接的设备。由于 IDE 和 Google Play 使用相同的工具来提取和安装设备上的 APK,因此此本地测试策略可帮助您验证以下内容:
- 您可以将应用构建为应用包。
- IDE 能够从应用包中提取目标设备配置的 APK。
- 您拆分成功能模块的功能与应用的基本模块兼容。
- 您的应用在目标设备上按预期运行。
默认情况下,当您从 Android Studio 将应用部署到连接的设备时,IDE 会为目标设备配置构建和部署 APK。这是因为为特定设备配置构建 APK 比为应用支持的所有设备配置构建应用包更快。
如果您想测试将应用构建为应用包,然后将该应用包中的 APK 部署到连接的设备,您需要按如下方式修改默认运行/调试配置:
- 从菜单栏中选择“运行 > 修改配置”。
- 从左侧窗格中选择一个运行/调试配置。
- 在右侧窗格中,选择“常规”标签页。
- 从“部署”旁边的下拉菜单中选择“从应用包生成 APK”。
- 如果您的应用包含您要测试的免安装应用体验,请选中“部署为免安装应用”旁边的复选框。
- 如果您的应用包含功能模块,您可以通过选中每个模块旁边的复选框来选择要部署的模块。默认情况下,Android Studio 会部署所有功能模块,并始终部署基本应用模块。
- 点击“应用”或“确定”。
当您从菜单栏中选择“运行 > 运行”时,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
测试的不同场景类型:
- 生成 APK 集,其中包含您的应用支持的所有设备配置的分拆 APK。在
bundletool
可以将您的应用部署到连接设备之前,通常需要构建 APK 集。- 如果您不想构建应用的所有分拆 APK 集,可以根据连接的设备或设备规范 JSON 生成设备专用 APK 集。
- 将您的应用从 APK 集部署到连接的设备。
bundletool
使用 adb 确定每个设备配置所需的分拆 APK,并且仅将这些 APK 部署到设备。如果您有多个设备,您还可以将设备 ID 传递给bundletool
以定位特定设备。 - 本地测试功能交付选项。您可以使用
bundletool
模拟设备从 Google Play 下载和安装功能模块,而无需实际将应用发布到 Play 管理中心。如果您想在本地测试应用如何处理按需模块下载请求和故障,这会很有帮助。 - 估算您的应用在给定设备配置下的下载大小。这有助于更好地了解您的应用下载的用户体验,并检查您的应用是否符合应用包的压缩下载大小限制或启用免安装体验。
在 Play 上测试您的应用包
尽管本页面上描述的其他测试策略不需要您将应用上传到 Play,但使用 Play 管理中心进行测试可最准确地呈现用户体验。无论您是想与内部利益相关者、内部质量保证团队、封闭的 Alpha 测试者组还是更广泛的 Beta 测试者受众分享您的应用,Play 管理中心都为您提供了多种测试策略。
使用 Play 管理中心测试您的应用有以下原因:
- 您想获得最准确的应用下载用户体验,以及(可选地)按需安装功能的体验。
- 您想为一组测试人员提供便捷的访问权限。
- 您想将测试范围限定为质量保证、Alpha 和 Beta 测试人员。
- 您想访问可在设备上测试的应用上传历史记录。例如,如果您想比较版本以查找性能下降。
快速通过网址分享您的应用
尽管 Play 管理中心测试轨道提供了一种使您的应用通过正式测试阶段的方法,但有时您希望通过电子邮件或短信等非正式渠道快速与受信任的测试人员分享您的应用。
通过将应用包上传到 Play 管理中心的快速分享页面,您可以生成一个可轻松与他人分享的网址。以这种方式分享您的应用可带来以下好处:
- 授权团队中的任何人上传测试版本,而无需授予他们在 Play 管理中心访问您的应用的权限。
- 测试人员只能访问与他们分享的应用的特定测试版本。
- 测试版本可以用任何密钥签名或根本不签名,因此上传者也无需访问您的生产或上传密钥。
- 版本代码不需要是唯一的,因此您可以重用现有版本代码,无需递增即可上传。
- 测试自定义交付选项,例如按需下载功能和应用内更新。
- 通过分享应用的调试版本来捕获重要数据和日志。
当用户从他们的 Android 设备点击该网址时,设备会自动打开 Google Play 商店以下载您的应用的测试版本。要开始使用并了解此测试策略的功能和限制,请参阅通过网址分享您的应用或观看下方视频。
下载您应用的历史版本
您和您的测试人员还可以下载已上传到生产或测试轨道的应用的历史版本。例如,如果您想快速测试应用的早期版本以检查性能下降,这会很有用。
访问 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 App Distribution 测试您的应用包
Firebase App Distribution 让您可以轻松地将应用的预发布版本分发给受信任的测试人员,以便在发布之前获得有价值的反馈。
App Distribution 让您可以在一个中心枢纽管理所有预发布版本,并让您能够灵活地直接从控制台或使用已集成到您的工作流程中的命令行工具分发这些版本。
您需要执行几个步骤才能为 Firebase App Distribution 启用您的项目。请参阅 Firebase 文档的开始之前部分。设置项目后,选择您希望如何将 App Distribution 集成到您的工作流程中: