这真是一个极好的消息。
12 月 19 号,Google 正式在安卓开发者博客官网宣称,为提升应用安全性和性能,确保每一个安卓设备用户拥有良好用户体验,所有想要将应用上线 Google Play 的安卓开发人员必须严格遵守这三条铁律做出改变:
2018 下半年开始,Play 商店强制要求新发布和需要更新的 apps 修改 Target API 为最新版本。具体时间分别是,对于新上线的应用为 2018 年 8 月,对于更新已经上线的应用为 2018 年 11 月。此举是为了确保应用使用的是在安全和性能方面有所优化的最新 API 编译的。
2019 年 8 月开始,Play 商店要求新上线和更新的 apps 必须支持 64 位 CPU 架构。至于是否支持 32 位版本,取决于应用自身。
除此之外,从 2018 年上半年开始,Play 商店将在每一个 APK 上面自动添加少量的安全性元数据(metadata),进一步验证 app 真实性。注意,开发者不需要为此变化做出任何修改。
这三条非常有力的强制性改变,足以见出 Google 在维护安卓开发生态系统上下定的决心。同时,我们也不用担心忘记对自己应用的修改,Google 会持续提供提醒,并将这些变更的关键时间点告知开发者们。
知晓完上述三条关键变更消息,我们再来看看 Google 是如何详细解读每一条铁律背后的知识点。
Target API level
事实上,每一次的 API 升级变更,Google 都在致力于帮助安卓开发人员提升应用安全性,避免用户遭受来自恶意软件的攻击。比如近几次大版本的更新:
不再支持用于 bindService() 的隐形 Intent(Android 5.0)
运行时权限(Android 6.0)
用于安全连接的用户自定义 CAs 证书默认不再受信(Android 7.0)
用户没有明确批准时,应用不能访问用户账户信息(Android 8.0)
大部分 API 变更仅适用于那些通过 targetSdkVersion 属性明确指明支持新版 API 行为的应用。比如,targetSdkVersion 大于等于 23 时,应用只能通过运行时权限向用户请求访问通讯录或者发起定位。
为了尽可能地给用户最好的安卓设备使用体验,Google Play 应用商店将要求 Apps 的 Target API 设置为最新版本:
2018 年 8 月:要求新发布 Apps 的 Target API 设为 26(Android 8.0)或更高版本;
2018 年 11 月:现有 Apps 发布新版本时也需要设置 Target API 设为 26(Android 8.0)或更高版本;
2019 年开始:随着每年 Android 新版本 API 的发布,新上线和更新现有 Apps 时,Target API 都需要设置为对应的新版 API 或更高版本;
当然,对于已经存在并且不需要更新的应用不受此影响。对于 minSdkVersion 属性,开发人员根据自己的需要自由设置。Google 鼓励开发者尽向后兼容。
支持 64-bit 架构
Android 5.0 开始引入支持 64 位 CPU 架构。如今,已经有超过 40% 的安卓设备支持 64 位架构,同时也保留着 32 位的兼容性。对于那些使用原生依赖库的应用,在额外引入的寄存器和新指令的作用下,64 位的代码明显有着更好的性能。
在未来安卓设备仅仅支持 64 位架构的期待下,Play 商店要求使用本地库的新发布 Apps 或者现有 Apps 的新版本必须提供 64 位版本,而 32 位版本则可以按需支持。开发者可以选择使用一个 APK 或者多 APKs 发布。
Google 也将会支持支持 32 位的应用和设备。那些不包含本地库的应用不受此影响。
这项变更将在 2019 年 8 月开始执行。Google 也会在官网博客上持续发文提醒,包括告知开发者使用 64 位本地库的好处。
增加安全性元数据
明年开始,Google Play 商店将会在每个 APK 上面增加少量安全性元数据。当你下载安装应用时,你会发现一个表明产品真实性的标签或者角标之类的东西。
对于这一点,开发者或者用户不需要做任何事情。Play 商店会自动添加额外的少许元数据到 APK 签名模块,并且不影响应用的任何功能。除了加强 Play 商店手机应用生态系统完整性,这些元数据信息将来也会给开发者带来更多的分发机会,帮助更多人能够及时更新版本。
最后的寄语
安卓系统自诞生以来,在安全和性能方面,一直被用户诟病。尤其对比移动市场领域的 iOS 系统,差异明显。但是,我们能够看出 Google 一直在为此付诸努力,在一年一度的 I/O 大会上,总是能带来质的飞跃。Google 一直在帮助开发人员提升应用质量和用户体验,也一直很有信心,2018 年和更遥远的未来,安卓生态系统定将日趋茁壮。
这真是一个极好的消息。
消息来源:Android Developers Blog