本文档概要介绍了典型的开发和测试阶段,可帮助您制定与平台发布时间表高度一致的就绪计划,并确保您的用户在 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 App Bundle 或 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 App Bundle 或 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)。