• 本文翻译自Android官方文档,旨在指出迁移到Android 12的大致步骤。 原文可以参见
  • 此文档为个人翻译,Markdown编排为纯手打。如有错误请以原文档为准。

目录

  • 迁移到Android12
  • 确保Android 12的兼容性
  • 执行兼容性测试
  • 提升应用的目标平台并使用新的API构建应用
  • 获取SDK、更改目标平台、使用新API构建应用
  • 测试您的Android 12应用
  • 使用App Compatibility Toggles进行测试


迁移到Android12

本文对标准的开发和测试过程提供高度视角,可以帮助您制定与平台发布时间表完全吻合的准备就绪计划,并确保您的应用在运行Android 12的用户上获得良好的使用体验。

在每个Android版本中,我们都引入了新功能以及行为更改,旨在使Android更有用、更安全、更高效。在许多情况下,您的应用程序无需修改即可完全正常运行;而在其他情况下,您可能需要进行更新以适应平台更改。

一旦源代码发布到AOSP(Android开放源代码平台),用户就可以开始接收到新版本。因此,对于您的应用程序来说,对新版准备就绪、能按用户预期执行并高效地利用新功能和新API至关重要。

典型的迁移有两个阶段,您可以同步进行:

  • 确保应用程序兼容性(在Android 12最终版本发布前)
  • 定位新的平台功能和API(在最终版本发布后尽快完成)

确保Android 12的兼容性


测试您的应用程序功能在Android 12上的兼容性至关重要,这将能确保用户在更新至最新版Android时有良好体验。一些更改可能会影响应用程序的实际表现,因此,对应用程序进行较早且彻底的测试,并对其进行必要的调整将十分重要。

您通常可以调整应用程序并发布更新,且无需更改应用程序的targetSdkVersion。同样,您不必要使用新的API或更改应用程序的compileSdkVersion——不过这取决于应用程序的构建方式及其使用到的平台功能。

在开始测试之前,您应当熟悉影响所有应用程序的行为更改。即使您不更改应用的targetSdkVersion,它们也可能会影响到应用程序。

获取Android12 将系统镜像写入到您的设备或下载适用于Android模拟器的镜像文件

查看更改 查看系统行为更改,以找出您的应用可能受影响的部分

测试 在设备或模拟器上安装应用程序,然后运行测试 关注系统行为的变化并处理所有的应用程序流

更新 此阶段只需进行所需的代码更改,以适应行为更改或解决问题 使用应用程序最初针对的API Level重新编译——而无需针对Android 12

发布 签名、上传并发布您的Android App Bundle或APK文件

执行兼容性测试

在大多数情况下,Android 12的兼容性测试与普通应用程序测试类似。您可以重新回顾应用程序质量指南和应用测试最佳实践。

如需进行测试,请在运行Android12的设备上安装当前发布的应用程序,并在查找问题时处理所有数据流和功能。为了帮助您集中测试,您可以查看Android12中引入的行为更改,这些更改可能会影响应用程序的功能或导致应用程序崩溃。

除此之外,请确保重新检查并测试受限制的非SDK接口的使用情况。您应当使用等价的公有SDK或NDK来替换您的应用程序使用的任何受限接口。注意Logcat中与此有关的警告,并使用StrictMode方法 detectNonSdkApiUsage() 以捕获它们。

最后,确保对应用程序中的库和SDK进行全面测试,以确保它们在Android 12上按预期工作,并遵循隐私、性能、用户体验、数据处理和权限方面的最佳实践。如果发现问题,请尝试更新到SDK的最新版本,或联系SDK开发人员寻求帮助。 当您完成测试并进行任何更新后,我们建议您立即发布兼容的应用程序。这可以让您的用户尽早测试应用程序,并有助于确保用户在升级到Android 12时顺利过渡。

提升应用的目标平台并使用新的API构建应用


一旦您发布了应用程序的兼容版本,下一步就是通过更新targetSdkVersion并利用Android 12中的新api和新功能来增加对Android 12的全面支持。您可以在准备就绪后立即着手这些更新。您也应当关注针对新平台的googleplay要求。

当您计划完全支持Android 12时,您应当回顾影响Android 12应用的行为变化。这些有针对性的行为改变可能会导致一些应当解决的功能性问题。在某些情况下,这些变化需要您较大幅度的更新代码,因此我们建议尽早了解并解决它们。如需帮助您识别这些影响应用程序的特定行为更改,请使用Compatibility Toggles,在启用选定更改的情况下测试应用程序。

下面是完全支持android12的步骤。

获取Android 12 SDK 安装最新版本的Android Studio以使用Android 12构建应用。请确保您拥有搭载Android 12的真机或模拟器。 然后升级您的targetSdkVersion及其余build配置

查看更改 查看系统行为更改,以找出您的应用可能受影响的部分,并计划解决方案

查看新的隐私变更 进行支持Android12用户隐私更改所需的代码和架构更改。

采用Android 12新特性 利用Android 12 API为您的应用程序带来新的功能和特性,并针对Android 12重新编译。

测试 在搭载Android 12的设备或模拟器上测试应用程序,并专注于那些行为变更可能对应用造成影响的部分。 测试使用新API部分的功能性并为新平台和API提供反馈。请报告任何平台、API或第三方SDK的问题。

最终更新 一旦Android 12 API最终确定,再次更新targetSdkVersion和其他build配置。如有必要,添加新的更新并测试应用程序。

发布 签名、上传并发布您的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开发人员寻求帮助。

使用App Compatibility Toggles进行测试

Android 12为开发人员引入了一项新功能,可以更轻松地通过有针对性的行为改变来测试您的应用程序。对于可调试的应用程序,Toggles允许您:

  • 在不更改targetSdkVersion情况下测试目标更改。您可以使用Toggles强制启用特定的目标行为更改,以评估对现有应用程序的影响。
  • 只将测试集中在特定的更改上。您不必一次处理所有目标更改,Toggles允许您禁用除要测试的更改之外的所有目标更改。
  • 通过adb管理Toggles。在自动化测试环境中,您可以使用adb命令启用或禁用Toggleable Changes。
  • 使用标准更改ID进行更快的调试。Toggleable Changes均有唯一的ID和名称,您可以使用它在日志输出中快速调试错误根源。

当您准备更改应用程序的目标平台,或者当您正在进行基于Android 12的开发时,Toggles将能起到帮助。您可以在此处查看详细信息。

2021 - 3 - 12

FunnySaltyFish