2

根据Google的说法,从 2021 年 8 月起,所有新的 Google Play 应用都需要以 API 30 为目标,除了作为 Android App Bundle 派生。此外,从 2021 年 11 月起,即使是应用程序更新也需要符合要求。

所以我将我的应用程序从面向 API 29 更新到 API 30,一些功能坏了。我如何找出原因?从Google 给出的更改列表来看,这并不明显,因为这不仅仅是检查是否正在使用某些已弃用的 API 的问题。

理想情况下,如果 Android Studio 可以提供一种方法来查看 API 30 中的功能如何影响我的应用程序行为,那就太好了。

4

1 回答 1

3

我在 Android 开发者选项中发现了一个很酷的功能,叫做 App Compatibility Changes。Google 是这样描述这些兼容性框架工具的:

Android 11 引入了新的开发人员工具,用于针对较新版本的 Android 平台中的行为变化测试和调试您的应用。这些工具是兼容性框架的一部分,允许应用程序开发人员使用开发人员选项或 ADB 单独打开和关闭重大更改。在您准备以最新的稳定 API 版本为目标以及使用下一个 Android 版本的预览版测试您的应用程序时,请使用这种灵活性。

哇,在手机上看一下,您似乎实际上可以单独打开或关闭每个新功能/更改?

开发者选项中的应用兼容性工具

走着瞧; 首先,它为我们提供了设备上所有可调试应用程序的列表,如果我们选择其中一个,例如,针对 API 29,那么我们实际上可以单独打开/关闭每个 API 30 功能,如下例所示,与 CALLBACK_ON_CLEAR_CHANGE。

切换 API 30 的单个功能

凉爽的!只需注意两点:这仅适用于可调试的应用程序;如果您想打开/关闭 API 30 的功能,请构建针对低于它的 API 级别的可调试应用程序,即在这种情况下为 API 29,然后打开/关闭功能并进行测试!如果您不知道是哪个功能导致了问题,您可以通过选择 30 个左右更改中的一半来加快搜索速度,查看问题是否存在,等等, 放大到右侧切换。

于 2021-10-28T17:25:38.637 回答