同时,近几年 Play 商店在 API 级别上的规范也逐渐成型。
总体而言,对于那些需要在 Play 商店中持续提供更新的大部分应用,Google Play 商店一般会提供一年左右的时间来让开发者针对最新的目标 API 级别进行适配。
这里 Play 商店将应用分成了三类:新应用、应用更新和现有应用,新应用指此前从未在 Play 商店发布过的应用,应用更新指已经在 Play 商店上架的应用所提供的更新版本,现有应用则对应那些已经发布在 Play 商店、但并不提供任何更新的应用。
举个例子,Android 11 正式版发布于 2020 年 9 月,目前 Google Play 管理中心的要求是:
- 2021 年 8 月 2 日之后,新应用必须将目标 API 级别设置为对应的 API 级别 30
- 2021 年 11 月 1 日之后,应用更新必须将 API 级别设置为对应的 API 级别 30
- 2022 年 11 月 1 日之后,现有应用必须将目标 API 级别设置为对应的 API 级别 30
如此一来,新应用开发和现有应用针对新版本系统特性跟进适配的窗口时间,便被控制在了系统更新后的一年左右时间内。
至于那些妄图通过不提供应用更新保留 Play 商店上架状态的应用,上述限制的存在也有一定的限制作用:2022 年 11 月 1 日之后,如果你的手机已经升级到了 Android 11 及以上系统版本,那些目标 API 级别低于 30 的应用就不会出现在 Play 商店的页面和搜索结果当中了。
参考链接:Google Play 应用在目标 API 级别方面需满足的要求 - Play 管理中心帮助
我们姑且以「Play 商店中能否搜到」这个行为为前提,对应 Android 版本和 API 级别,梳理一下最近一段时间内 Play 版应用将会提供的一些体验。在 2022 年 11 月 1 日后:
所有能在 Play 商店中下载到的应用,都将提供分区存储(也就是「沙盒」)机制支持。关于分区存储的详细介绍,可以参见少数派此前的文章。
关联阅读:还存储空间一片清朗:Android 的「沙盒」机制何时到来?
在数月未使用的情况下,已经授予的运行时敏感权限都会被系统自动重置;
权限自动重置与位置权限始终允许设置
申请位置信息访问权限时,最高都只能申请到「仅在使用中允许」,「总是允许」只能在系统设置中手动开启;查询设备上已安装应用的列表时,则只能获取到系统过滤后的已安装应用列表。
另外,2022 年 11 月 1 日后,此前已上架应用的新版本都将支持 Android 12 的新特性,比如自定义通知布局、应用休眠、传感器采样率限制、前台服务启动限制、更快的通知操作响应速度(trampoline 优化)……
参考链接:
- Google Play 应用在目标 API 级别方面需满足的要求 | Play 管理中心帮助
- 行为变更:以 Android 11 为目标平台的应用 | Android 开发者
- 行为变更:以 Android 12 为目标平台的应用 | Android 开发者
如果用一句话从用户角度去概括本文第三部分的所有内容,那应该是:
在 Android 11 正式版发布两年后,所有 Play 商店中能够搜到的应用,无一例外都是支持 Android 11 新特性的。
所以我们说 Play 商店在目标 API 级别要求上的「严格」,其实也是一种相对而言的说法。因为国内主流应用商店在目标 API 级别的要求普遍还停留在 3 年前。
2018 年 7 月,电信终端产业协会(TAF)发布了一份《移动应用软件高API等级预置与分发自律公约》,这份公约由 OPPO、华为、百度、360、阿里、小米、vivo、腾讯发起,要求自 2019 年 5 月 1 日起,新上架和预置应用的目标 API 级别为 26 及以上,自 2019 年 8 月 1 日起,现有应用的更新则必须以目标 API 级别 26 及以上进行开发。目标 API 级别 26 对应的版本是 Android 8.0,Android 8.0 的正式版发布时间是 2017 年 8 月。彼时的国内主流应用商店,还能给出一份与 Google Play 商店节奏一致的目标 API 级别要求。
不知道是电信终端产业协会后续在这方面没有持续跟进,还是 Google 在 2020 年的 Android 11 正式版中引入的分区存储机制过于激进,国内应用商店在目标 API 级别要求这件事情上自那之后便陷入了停滞。目前,我们在 OPPO、小米等厂商的相关开发者文档中,能够检索到的目标 API 级别相关要求大多数都与三年前那份《移动应用软件高API等级预置与分发自律公约》有关。
我所使用的设备上所安装应用的目标 API 级别统计
换句话说,以五年前 Android 8.0 系统体验为基础的应用,依然存在于 2022 年的国内应用商店中。至于数量有多少,你可以下载 AppChecker 这类应用自行检查。
与 Play 商店实际仍有些保守的做法相比,国内应用商店还有更长的路要走,甚至应该先从态度上重视起来——比起最近在 64 位应用这件事情上的被动应战,国内应用商店、尤其是已经有着相当大影响力和号召力的 O、V、华、米几家国内应用商店,应该主动拥抱的「优秀品质」还有不少,与时俱进的目标 API 级别要求可以是其中之一。