持续提升 Android 应用的安全性与性能


每一年,Google Play 助力数十亿的 App 进行安装或者更新。咱们一直致力于提高 App 安全性和性能,确保每一个用户都可以获取最佳体验,探索和安装本身喜欢的 App 和游戏。html

今天,咱们想要和各位 Android 开发者简单说明一下三项变动,它们背后的缘由,以及它们如何让 Android 设备运行得更加安全和流畅。android

  • 从 2018 下半年开始,Google Play 要求新 App 和 App 更新包将目标 SDK 版本(Target SDK Version)设定为最新版。针对新发布 App,此项变动将从 2018 年 8 月实施;针对现有 App 的版本更新,此项变动则从 2018 年 11 月生效。开发者们要留心此时间,确保 App 基于最新 API 进行开发,得到安全性和性能方面的优化。安全

  • 2019 年 8 月开始,Google Play 要求用原生库(native libraries)进行发布和更新的 App 都必须提供 64 位和 32 位两个版本。
    性能优化

  • 此外,从 2018 年上半年开始,Google Play 将在每一个 APK 头部添加少许安全元数据,用于进一步验证 App 的真实性。此项变动不须要开发者方面采起任何行动。架构

咱们十分重视开发者生态圈,但愿这篇文章可以帮助各位顺利发布 App。并且咱们会继续发布提醒通知,分享开发者资源帮助各位在关键日期节点前作好充分准备。ide

从 2018 年下半年开始, API 目标等级新规定

API 行为变动可以提升 Android 安全性和隐私保护 —— 助力开发者提升 App 安全性、防止用户遭受恶意软件攻击。如下列举了咱们针对近期平台版本,推出的几项有关 API 的变动:性能

  • 再也不支持经过隐式的 intent 调用 bindService ( ) (Android 5.0)优化

  • 在运行时请求权限 (Android 6.0)ui

  • 默认条件下,再也不信任用户为安全链接添加的 CA 证书 (Android 7.0)google

  • 在未得到用户明确批准的情形下,App 没法访问用户帐号 (Android 8.0)


上列变动仅仅适用于在 targetSdkVersion 清单属性中明确代表支持新 API 行为的 App。例如,只有在 targetSdkVersion 值为 23(Android 6.0 适配 API 等级)或者更高的 App 内,用户才能经过设定 “在运行时请求权限”,彻底控制 App 可以访问到哪些隐私数据 —— 如联系人和位置信息。

一样地,近期发布的几个版本还改善了用户体验,如防止 App 忽然过分消耗电池和内存等资源,后台执行限制就是一个很好的例子。

为了让用户能享受到最好的 Android 体验,Google Play 管理中心将要求 App 设定目标 API 等级为近期版本:

  • 2018 年 8 月:新 App 须要将 target API 等级设定为 26(Android 8.0)或者更高

  • 2018 年 11 月,现有 App 的更新包须要将 target API 等级设定为 26 或者更高

  • 2019 年以后:每一年 targetSdkVersion 会提出新的要求。Android 新版本系统发布一年内,App 的开发和更新都须要将 API 调整到相应或者更高等级。

现有但再也不更新的 App 并不受影响。开发者能够自行选择是否使用 minSdkVersion,依旧能够进行基于旧版本 Android 系统的 App 开发。

咱们建议各位开发者尽可能提供向后兼容性。从此的 Android 系统会对未达到 API 要求而在安全和性能方面有所欠缺的 App 设置限制。咱们将会采起积极主动的措施,下降 App 生态圈碎片化程度,保证 App 运行安全并且流畅。咱们会提早通知开发者,让各位可以作好相应计划。

今年咱们正式发布 Android Oreo。在安全和性能方面,Oreo 是目前最好的一款 Android 系统。同时咱们还发布了 Project Treble 计划,加速设备上的系统更新速度。请当即开始为 Android 8.1 Oreo 开发 App。

2019 年开始要求提供 64 位支持

从 Android 5.0 开始,Android 平台就加入了 64 位架构支持。到目前为止,40% 的 Android 设备都支持 64 位版本,同时兼容 32 位版本。通常来讲,若是 App 用的是原生库,那么 64 位代码一般能提供显著更好的性能,由于该架构支持更多的寄存器数量和更新的指令集。

预期将来 Android 设备可能只提供 64 位代码支持,Google Play 管理中心要求新 App 以及 App 更新包在无 32 位支持的设备上也能运行。使用 32 位库的 App 须要同时兼容 64 位库 —— 发布时能够打包在同一个 APK 内,也能够做为多 APK 中的一个。不包含原生代码的 App 不受此要求影响。

以上变动将在 2019 年 8 月起正式生效。这次预先通知是为了让广大开发者可以有充足的时间为支持 64 位代码作好准备。咱们随后会推出一系列相关文章内容,深度探讨 64 位原生库为 Android 带来哪些性能优化,敬请期待。欲知更多信息,请查阅 Android NDK CPU 和构造指南:

https://developer.android.google.cn/ndk/guides/arch.html

2018 上半年开始采用安全元数据

从明年开始,咱们将会在每一个 APK 顶部添加少数安全元数据,用来认证 App 是经过 Google Play 官方发布的。好比说您去买东西,上面印着的商标就用于肯定商品真伪。而咱们往 APK 添加的元数据也是起这样的做用,告诉用户这个 App 是由 “Google Play” 官方下载的。

该项变动不须要开发者或者用户方面采起任何措施。咱们将会根据添加的元数据大小,调整 Google Play 中 APK 体积的上限值,并添加到 APK 签名区块中(APK Signing Block),而对 App 的功能没有任何影响。这些元数据不只可以加强 Google Play 移动 App 生态系统的完整性,还能为开发者带来新的发布机会,帮助更多的用户享用最新 App。

展望将来

2017 年对 Google Play 而言是意义非凡的一年,咱们共同见证了许许多多开发者的成长和成功。咱们一直努力改善各项功能(包括先前在 Google I/O 2017 开发者大会Playtime 大会上提出的功能),助力开发者提升 App 质量,创造更多商业价值。

咱们但愿经过这些功能和即将发布的更新,在 2018 年及之后助力 Android 和 Google Play 生态系统继续蓬勃发展。

相关文章
相关标签/搜索