作者 / Edward Cunningham, Android 安全和隐私团队
读过《持续提高 Android 应用的安全性与性能》一文的朋友们应该知道,升级 API 不仅有助于提升 Android 安全与隐私的防护水平,而且还能有效预防应用对设备资源 (如电量和内存) 的异常消耗,从而为用户提供更好的产品体验。
从 2018 年 11 月起,Google Play 要求所有应用更新必须将目标 API 等级至少设为 26。得益于开发者们的大力支持,使用现代 API 开发的应用数量大幅上涨,同时也为全球 Android 用户带去更强大的安全与隐私防护。例如,在 2018 年,已有超过 15 万应用添加了运行时请求权限支持,允许用户对其共享的数据进行精细控制。
本文将针对 Google Play 在 2019 年实行的 API 规定展开详细说明,其中的部分变更可能会影响应用在其他商店的发布,请您仔细阅读。
2019 年 Google Play 要求
为了给用户提供最佳的 Android 体验,Google Play 管理中心将继续要求开发者针对最新 API 等级对应用进行适配,关键时间节点如下:
2019 年 8 月: 所有新提交的应用必须将目标 API 等级设置为 28 或更高。
2019 年 11 月: 现有应用的更新版本也必须将目标 API 等级设置为 28 或更高。
已停止更新的现有应用不受此项规定的影响,用户仍可通过 Play Store 进行下载。应用仍可指定任意的 minSdkVersion, 因此,您可继续为历史版本的 Android 系统开发应用。
请阅读《行为变更: 以 API 等级 28+ 为目标的应用》,了解 Android 9 Pie 中的行为变更。
minSdkVersion
https://developer.android.google.cn/guide/topics/manifest/uses-sdk-element.html#min
《行为变更: 以 API 等级 28+ 为目标的应用》
https://developer.android.google.cn/about/versions/pie/android-9.0-changes-28
通过其他商店分发的应用
不论通过哪个渠道分发应用,采用最新的目标 API 等级永远是您正确的选择。在中国,包括华为、OPPO、Vivo、小米、百度、阿里巴巴及腾讯在内的各大应用商店将于 2019 年上调发布门槛——应用的目标 API 等级必须为 26 (Android 8.0) 或更高。我们希望更多合作伙伴尽快推行类似政策,与我们一同提升整体应用生态系统的安全性。
于 2019 年上调发布门槛
http://www.taf.net.cn/News_detail.aspx?_NOTICE_ID=231
我们发现在 Play Store 之外,超过 95% 的间谍应用故意将目标 API 等级设置为 22 或更低,以便其运行在较新版本 Android 系统上时也能绕过运行时的权限请求。为了让用户免遭恶意软件的侵害,同时推进生态系统的安全建设,我们特别推出 Google Play Protect 防护服务。当用户试图安装任何不符合目标 API 等级规定的应用时,便会收到来自 Play Protect 的警告信息:
2019 年 8 月: 目标 API 等级低于 26 的新应用将在安装时收到警告。
2019 年 11 月: 目标 API 等级低于 26 的现有应用更新版本将在安装时收到警告。
2020 年起: 我们将每年更新一次目标 API 等级的相关规定。
Google Play Protect 防护服务
https://www.android.com/intl/zh-CN_cn/play-protect/
只有当应用的 targetSdkVersion 低于设备的 API 等级时,用户才会收到由 Play Protect 发送的警告信息。例如,若设备运行的系统版本为 Android 6.0 (Marshmallow),那么,用户在安装 API 等级为 22 或更低的 APK 文件时便会收到警告;而对于运行 Android 8.0 (Oreo) 或更高版本的设备,则用户在安装目标 API 等级为 25 或更低的 APK 文件时会收到警告。
targetSdkVersion
https://developer.android.google.cn/guide/topics/manifest/uses-sdk-element.html#target
在 8 月以前,Play Protect 仅向启用开发者选项的设备发送警告信息,以提前通知所有在 Play Store 外发布应用的开发者们做好准备。为了确保应用兼容所有版本的 Android 系统,请您务必针对目标 API 等级 26+ 进行开发或更新工作。
开发者选项
https://developer.android.google.cn/studio/debug/dev-options
已经发布且停止更新的现有应用 (通过任何分发渠道) 将不受新规定的影响,用户在安装这些应用时并不会收到警告信息。
开始行动
如果您想了解如何更改应用的目标 API 等级,请阅读《迁移指南》或者收看 2018 I/O 大会上的演讲《迁移现有应用至 Android Oreo 或更高系统版本》。
《迁移指南》
https://developer.android.google.cn/distribute/best-practices/develop/target-sdk
《迁移现有应用至 Android Oreo 或更高系统版本》
https://www.youtube.com/watch?v=YyDnYaFtRS0
在世界各地,许许多多的 Android 开发者们已经通过应用更新为用户带去了最新的安全防护,对此,我们深表感谢。我们期待在 2019 年与您继续携手,一同创造更安全的 Android 体验!