本文档提供了典型开发和测试阶段的高级概述,可以帮助您制定准备计划,使其与平台发布时间表良好一致,并确保您的用户在 Android 12 上获得良好的体验。
随着每个 Android 版本的发布,我们都会引入新功能以及旨在使 Android 更有帮助、更安全和性能更高的行为更改。在许多情况下,您的应用将按预期工作,而在其他情况下,您可能需要更新您的应用以适应平台更改。
用户可以在源代码发布到 AOSP(Android 开源项目)后立即开始接收新平台,因此您的应用必须做好准备,为用户提供预期的性能,并理想情况下利用新功能和 API 从新平台中获得最大收益。
典型的迁移有两个阶段,这两个阶段可以同时进行
- 确保应用兼容性(在 Android 12 最终版本发布之前)
- 以新的平台功能和 API 为目标(在最终版本发布后尽快)
确保与 Android 12 兼容
务必针对 Android 12 测试现有应用的功能,以确保更新到最新版 Android 的用户获得良好的体验。某些平台更改可能会影响应用的行为方式,因此务必尽早且彻底地进行测试,并对应用进行必要的调整。
通常,您可以调整应用并发布更新,而无需更改应用的 targetSdkVersion
。同样,您无需使用新 API 或更改应用的 compileSdkVersion
,尽管这可能取决于应用的构建方式及其使用的平台功能。
在开始测试之前,请务必熟悉所有应用的行为更改。即使您不更改其 targetSdkVersion
,这些更改也可能会影响您的应用。
将 Android 12 系统映像刷入您的设备,或下载适用于 Android 模拟器的系统映像。
查看系统行为更改,以识别可能影响应用的区域。
在您的设备或模拟器上安装您的应用,并运行测试。重点关注系统行为更改,并完成所有应用流程。
仅进行适应行为更改或解决问题的必要代码更改。使用应用最初定位的相同 API 级别重新编译 - 无需以 Android 12 为目标。
签署、上传和发布更新的 Android 应用包或 APK。
执行兼容性测试
在大多数情况下,与 Android 12 的兼容性测试类似于普通的应用测试。现在是时候查看核心应用质量指南和测试最佳实践了。
要进行测试,请在运行 Android 12 的设备上安装您当前发布的应用,并在查找问题时完成所有流程和功能。为了帮助您专注于测试,**请查看 Android 12 中引入的所有应用的行为更改**,这些更改可能会影响应用的功能或导致应用崩溃。
还要确保**查看并测试受限非 SDK 接口的使用情况**。您应该将应用使用的任何受限接口替换为公共 SDK 或 NDK 等效项。注意突出显示这些访问的 logcat 警告,并使用 StrictMode
方法 detectNonSdkApiUsage()
以编程方式捕获它们。
最后,请确保全面测试应用中的库和 SDK,以确保它们在 Android 12 上按预期工作,并遵循隐私、性能、用户体验、数据处理和权限方面的最佳实践。如果发现问题,请尝试更新到 SDK 的最新版本,或联系 SDK 开发人员寻求帮助。
完成测试并进行任何更新后,我们建议立即发布兼容的应用。这可以让用户尽早测试应用,并帮助确保用户在更新到 Android 12 时顺利过渡。
更新应用的目标版本并使用新的 API 构建
发布兼容版本的应用后,下一步是通过更新其targetSdkVersion
并利用 Android 12 中的新 API 和功能来为 Android 12 提供全面支持。您可以随时进行这些更新,请记住针对新平台的Google Play 要求。
在计划全面支持 Android 12 的工作时,请查看影响目标版本为 Android 12 的应用的行为变更。这些目标行为变更可能会导致您需要解决的功能问题。在某些情况下,这些变更需要进行大量开发,因此我们建议您尽早了解并解决这些问题。为了帮助识别影响您应用的特定行为变更,请使用兼容性切换来测试启用了选定变更的应用。
以下步骤介绍了如何全面支持 Android 12。
安装最新版本的 Android Studio 预览版以使用 Android 12 进行构建。确保您拥有 Android 12 设备或模拟器。
更新您的targetSdkVersion
和其他构建配置。
查看适用于目标版本为 Android 12 的应用的行为变更。确定应用可能受到影响的区域,并计划如何支持这些区域。
进行支持 Android 12 的用户隐私变更所需的代码和架构变更。
利用 Android 12 API 为您的应用带来新的功能和特性。重新编译为 Android 12。
在 Android 12 设备或模拟器上进行测试。重点关注行为变更可能影响应用的区域。尝试使用新 API 的功能。提供平台和 API 反馈。报告任何平台、API 或第三方 SDK 问题。
Android 12 API 成为最终版本后,再次更新您的targetSdkVersion
和其他构建配置,进行任何其他更新,并测试您的应用。
签署、上传和发布更新的 Android 应用包或 APK。
获取 SDK、更改目标版本、使用新的 API 构建
要开始测试对 Android 12 的全面支持,请使用最新预览版的 Android Studio 下载 Android 12 SDK 和您需要的任何其他工具。接下来,更新应用的targetSdkVersion
和compileSdkVersion
,并重新编译应用。有关详细信息,请参阅SDK 设置指南。
测试您的 Android 12 应用
编译应用并将其安装在运行 Android 12 的设备上后,开始测试以确保应用在目标版本为 Android 12 时能够正常工作。某些行为变更仅在应用的目标版本为新平台时才适用,因此您需要在开始之前查看这些变更。
与基本兼容性测试一样,遍历所有流程和功能以查找问题。将测试重点放在目标版本为 Android 12 的应用的行为变更上。现在也是检查应用是否符合核心应用质量指南和测试最佳实践的好时机。
请务必查看并测试是否使用了可能适用的受限的非 SDK 接口。注意突出显示这些访问的 logcat 警告,并使用 StrictMode 方法detectNonSdkApiUsage()
以编程方式捕获它们。
最后,请确保全面测试应用中的库和 SDK,以确保它们在 Android 12 上按预期工作,并遵循隐私、性能、用户体验、数据处理和权限方面的最佳实践。如果发现问题,请尝试更新到 SDK 的最新版本,或联系 SDK 开发人员寻求帮助。
使用应用兼容性切换进行测试
Android 12 包含兼容性切换,使您可以更轻松地使用目标行为变更测试应用。对于可调试应用,切换功能允许您
- 在不实际更改应用的 targetSdkVersion 的情况下测试目标变更。您可以使用切换功能强制启用特定的目标行为变更,以评估其对现有应用的影响。
- 仅将测试重点放在特定的变更上。切换功能允许您禁用所有目标变更(除了要测试的变更),从而无需一次解决所有目标变更。
- 通过 adb 管理切换。您可以使用 adb 命令在自动化测试环境中启用和禁用可切换的变更。
- 使用标准变更 ID 加速调试。每个可切换的变更都有唯一的 ID 和名称,您可以使用它们在日志输出中快速调试根本原因。
在准备更改应用的目标版本时,或在积极开发 Android 12 支持时,切换功能可以提供帮助。有关更多信息,请参阅兼容性框架变更(Android 12)。