作者:Dave Burke, 工程部副总裁
Android 9 利用人工智能技术,让您的手机更加智能、简洁与人性化。请通过本文了解 Android 9 的所有新特性,同时也希望各位开发者能够借助 Android 9,全面提升应用性能,打造出色体验,让您的应用与用户走得更近!
在 Android 9 的开发过程中,十分感谢大家的积极反馈 ,我们收到了超过 1000 条报错与特性请求 。共有超过 140,000 名开发者通过 Android Beta 项目试用了之前发布的开发者预览版,此外,更有 7 家顶尖合作设备厂商相继推出了支持 Android P Beta 版的旗舰机型,帮助我们获取全球早期 Beta 用户的反馈。
从今天起,我们将在 Android 开源项目 (AOSP) 中发布 Android 9 源码,同时开始向 Pixel 用户推送系统更新通知,其它更多 Android 设备预计会在接下来的几个月内陆续收到通知。
我们会继续努力将 Android 打造成一流的开放平台,助力全球开发者取得商业成功。期望各位能够利用 Android 9 这个新平台并借助 Google Play 中新增的功能,开发出优质的应用和游戏,通过最有效和安全的方式,为全球用户带去精彩体验!
Android 9 终版新功能
以机器学习为核心,打造更为智能的手机
Android 9 赋予手机强大的学习能力:系统能够根据用户在使用过程中展露的习惯与偏好,进行自我学习与适应 —— 从强劲续航到人性化应用推荐,Android 9 都能想您所想,保障持久流畅的用户体验。
动态电量管理
我们与 DeepMind 合作推出了 动态电量管理 特性,利用机器学习技术对系统资源进行有限分配,更专注于用户最常用的应用。如果您已经针对 低耗电模式 、 应用待机模式 以及 后台限制 对您的应用进行过相关优化,那么它就应该已经能够和动态电量管理特性完美配合。如果您暂时还未开始优化工作,请阅读 电量管理官方文档 ,获取具体操作指南。
Slices 能够有效帮助用户节省操作时间,不需要通过全屏体验就能够使用应用的部分功能。借助配套的 UI 模板,Slices 能够将应用内容以高动态、富交互的形式插入到多个使用场景中,比如 Google Search 和 Assistant。请进一步了解如何在应用中 构建 Slices 。
App Actions
App Actions 是一种全新的应用推荐方式。开发者可以利用这个功能,让更多人看到自己的应用并极大提高用户参与度。借助机器学习技术, App Actions 能对应用的语义意图和使用场景进行分析,并根据分析结果在适当的时机向用户推荐您的应用。
文本识别与 Smart Linkify
在 Android 9 中,我们对识别文本的机器学习模型进行了扩展,使其可以借助 TextClassifier API 识别出类似日期或航班号这样的信息。此外, Smart Linkify 允许开发者通过 Linkify API 使用文本识别模块完成多项操作,比如对用户可采取的操作提出建议。Smart Linkify 让系统在文本识别精确度与速度上都有明显的提升。
Android 9.0 对神经网络 API 进行了扩展与改进,进一步优化 Android 对机器学习硬件加速的支持。 神经网络 API 1.1 共增加了对 9 个新算子的支持,它们分别是 Pad、BatchToSpaceND、SpaceToBatchND、Transpose、Strided Slice、Mean、Div、Sub 和 Squeeze。 TensorFlow Lite 就是一个已经用上此 API 的典型机器学习框架。
人机交互,就是这么容易
“让智能手机更加智能” 是我们向前迈进的重要一步。但是,如何把握好用户与科技的关系 —— 让科技以人为先,这一点也同样关键。在 Android 9 中,我们大幅度改进了用户界面,让它更简洁,也更易于操作;对于开发者而言,这些变更能够让用户更加容易搜索,使用和管理您的应用。
全新系统导航
经过一年多的努力, Android 9 迎来了全新的系统导航,让多任务切换及关联应用探索变得更加简单。您只需要向上滑动屏幕就可以全屏预览最近使用过的应用,轻触预览页后便可以切换至所选应用。
Android 9 中加入了 凹口屏支持 ,让您的应用可以充分利用最新全面屏,展现应用的独特魅力。该功能可以在大部分应用中无缝工作,系统会通过调整状态栏高度将应用内容与屏幕缺口区域分开。如果您的应用含有沉浸式内容,您可调用 display cutout APIs 确认缺口形状与位置,然后请求围绕缺口进行全屏布局。另外,我们还加入了开发者选项来模拟任意设备上的凹口形状,从而极大简化了应用支持凹口屏幕所需的构建以及测试流程。
Android 9 进一步改善了通知的实用性与可操作性。消息类应用可以调用新的 MessagingStyle API 来显示对话,附加照片和表情,或者提供智能回复建议。再过不久,您就可以使用 ML Kit 在应用中生成智能回复。
文本放大镜
Android 9 中添加 文字放大镜工具 (Magnifier widget),以提升文本选择方面的用户体验。由于该放大器提供了可以在文本上方拖拽的文本放大面板,所以有助于用户精准地定位光标或文本选择手柄。该功能可以灵活运用在所有附加在窗口的视图上,个性化小部件和定制文本呈现均是不错的应用场景。而且,该放大器工具还可以提供任何视图或界面的放大版本,而不仅仅是文本。
用户安全与隐私
统一身份验证对话框
生物传感器被广泛应用于身份认证,为了保障用户在不同感应器和应用间能够获得一致的体验, Android 9 引入了统一的身份验证对话框,提示用户进行操作。应用不再需要自行设计对话框,而是通过调用 BiometricPrompt API 触发系统对话框。除指纹识别以外 (包括屏幕下指纹识别),该 API 还支持面部识别以及虹膜识别。
高可信度用户确认
Android 9 新增了高可信度用户确认 ( Android Protected Confirmation ) ,该功能通过可信执行环境 (TEE) 确保提示文本被真实用户确认。只有在用户成功确认之后,TEE 才会签发该文本,让应用进行后续验证步骤。
加强密钥安全保护
我们还加入了一个新的 KeyStore 类 —— StrongBox,并提供相应的 API 来支持那些提供了防入侵硬件措施的设备,比如独立的 CPU,内存以及安全存储。您可以在 KeyGenParameterSpec 里进行设置,决定是否把密钥交给 StrongBox 安全芯片来保存。
DNS over TLS
Android 9 内置对 DNS over TLS 的支持:若网络 DNS 服务器提供支持,设备会自动将 DNS 查询升级为 TLS 查询。用户可以通过更改 “网络和互联网” 设置下的隐私 DNS (Private DNS) 模式来管理 DNS over TLS 行为。自行运行 DNS 查询的应用可以通过调用新的 LinkProperties.isPrivateDnsActive() API 来获取 DNS 模式相关信息。请阅读《 Android P 开发者预览版支持 DNS over TLS 》,获取进一步信息。
默认使用 HTTPS
为了将所有网络流量从明文 (未加密的HTTP) 逐步迁移至 TLS,我们更改了 网络安全配置 的默认设置,以阻止所有明文流量,强制应用通过 TLS 建立网降连接,除非开发者明确允许特定域名使用明文传输。
基于编译器的安全缓解措施
Android 9 将进一步扩展编译器级别的安全缓解措施,借助运行时危险行为监测进一步加强平台安全建设。Android 9 通过控制流程完整性 (CFI) 技术解决了代码重用 (code-reuse) 和任意代码执行两大漏洞,并扩展了 CFI 在媒体框架和其它关键安全组件内的使用范围,如 NFC 与蓝牙。同时,Android 9 还针对 Android 常见内核的 LLVM 编译添加了 CFI 内核支持。