Android 是一个由 Google 开发的移动操作系统及与之相关的开源项目。它基于修改版的 Linux 内核,主要为触屏设备而设计。目前,Android 的最新稳定版本是发布 2018 年 8 月的 Android Pie 版本系列。

该项目于日前发布了 Android "Q" Beta 1 (QPP1.190205.018.B4) 版本。Android Q 将是该项目的第十个主要版本。这一版本关注于帮助用户利用最新的技术创新以及改善用户的安全与隐私。

基于 Google Play Protect 和运行时权限等工作,Android Q 为用户带来了许多额外的隐私和安全功能,以及针对可折叠设备的增强功能、用于连接性(connectivity)的新 API,新媒体编解码器和相机权限调整、NNAPI 扩展、Vulkan 1.1 支持、更快的应用启动、支持 TLS 1.3 等等。

隐私保护

囿于 Google Play 的相对开放性以及某些地区格外恶劣的生态环境,Android 中 app 混乱的权限申请及与之相关的各种隐私问题让其饱受诟病。在过去及最近的版本中,Android 引入了一系列与安全或隐私性相关的机制或调整,例如能够改善加密设备启动机制的基于文件的加密需要应用程序在访问敏感资源之前请求权限的操作系统控件、锁定相机/麦克风后台访问锁定模式加密备份Google Play Protect(每天扫描超过 500 亿个应用以识别可能有害的应用并将其删除)等等。Android Q 带来了更多增强功能以保护用户。其中许多增强功能都是 Strobe 项目中工作的一部分。这一版本中的一些 API 及机制变化或许能进一步减缓一些这类问题,尽管注定不能彻底改善。

更好地控制位置权限

在 Android Q 中,操作系统可帮助用户更好地控制应用何时能获取位置信息。与以前版本的操作系统一样,只有在应用程序请求用户许可并且用户已授予该权限后,应用程序才能获取位置。

此前版本的位置权限控制较为粗略。例如,在订购食品外送服务时,用户可能希望授予 app 位置访问权限,但很显然这个 app 不应该能一直具有这一权限——应用程序在未使用时(处于后台)对位置的访问是一个特别敏感的事情。Android Q 允许用户授予应用程序仅在工作中(处于前台)对位置的访问权限

相机及网络 API

这一部分的内容的详细信息见于 (Location-network)[https://developer.android.com/preview/privacy/location-network] 一页。

相机

这一版本中,app 必须具备 CAMERA 权限才能正常调用 getCameraCharacteristics() 并访问设备相关的相机元信息。

网络

App 将不再能开启或禁用 Wi-Fi。WifiManager.setWifiEnabled() 方法将总是返回 false

访问一些 telephony 数据、Wi-Fi 及蓝牙 API 将需要精确位置权限(ACCESS_FINE_LOCATION)。例如,扫描 Wi-Fi 接入点信息将需要对精确位置的访问权限。具体的受影响的 API 列表载于此附录

其它隐私保护改进

除了位置变化之外,项目还会进行进一步的更新,以确保透明度,让用户控制并保护个人数据。

在Android Q中,操作系统使用户可以更好地控制应用程序,控制对共享文件的访问。用户将能够通过新的运行时权限控制应用程序对照片和视频或音频集合的访问。对于下载(Downloads),应用必须使用系统文件选择器,允许用户决定应用可以访问哪些下载文件。对于开发人员,应用程序可以在外部存储上使用共享区域的方式发生了变化。新的机制比较复杂,见于 Scoped Storage

开发团队还注意到,当应用程序意外跳转到前台并重新获取关注时,用户(和开发人员!)会感到不安。为了减少这些打扰,Android Q 将阻止应用在后台启动 activity。如果应用程序处于后台并且需要快速引起用户的注意——例如来电或闹钟——开发者可以使用高优先级通知并提供全屏意图。有关更多信息,请参阅文档。

新版本还限制了对不可重置的设备标识符的访问,者包括设备 IMEI、序列号和类似标识符。具体来说,READ_PHONE_STATE 将不再能授予对这些关键标识符的访问权限,app 只有具备 READ_PRIVILEGED_PHONE_STATE 权限签名才能访问这些数据(~~尽管,可以预计的是,在某些生态环境恶劣的地区这一非强制性措施将不会带来任何改善;如果有的话,那一定是 poor dev 没升 target API 以至于系统默认置空~~)。阅读最佳实践以帮助选择正确的标识符,并在此处查看详细信息。新版本还默认连接到不同的 Wi-Fi 网络时随机化设备的MAC地址——这是 Android 9 Pie 中可选的设置。现在,Android Q 平台将不再追踪联系人亲和度信息。因此,联系人搜索返回的结果将不再会根据交互频率排序。关于联系人机制的更多变化,见于 Contact Provider 指引。此外,除非 app 是默认的输入法(IME)或当前有输入焦点,否则将不能访问剪贴板数据

限于篇幅,本文仅摘录了有关于隐私与安全的变化介绍,Android Q 的详细介绍载于其发布通告


本文的主要内容均翻译或进一步演绎自 Android Q Beta 的发布通告;封面图片来自于维基共享资源。