阅读 810

Android Q Beta 3 亮相 Google I/O'19

作者: Dave Burke, 工程部副总裁

I/O'19 期间 Android 达成了两项里程碑的成就: 其一,迎来第 10 个主版本;其二,全球活跃设备数量突破 25 亿台。

Android Q 主要聚焦在三个方面: 创新、隐私与安全,以及数字健康。我们想协助开发者利用 5G、折叠屏、无框屏、设备内置 AI 等最新技术继续创造精彩,同时确保用户安全、隐私及数字健康是您开发过程中的首要考虑因素。

在前几天的 2019 Google I/O 开发者大会上,我们介绍了 Android Q 的一些新特性,并发布了 Android Q 的最新版本——Android Q Beta 3。不论是对于 Beta 3,还是即将在今秋发布的稳定版 Android Q 而言,您的反馈都是推动我们进步的强大动力,在此,十分感谢大家一路以来的支持!

今年,用户可在由 12 个设备厂商出品的 15 款合作机型上体验 Android Q Beta 3 —— 支持设备的数量是去年的两倍!这一切得益于 Project Treble 计划的落地,当然,更离不开 Google 合作伙伴的积极协助,为我们在全球加快 Android 的更新速率。这些合作伙伴包括华为、小米、诺基亚、索尼、vivo、OPPO、一加、华硕、LGE、传音、Essential 和 realme。

请前往 android.com/beta 查看全部的 Beta 设备,并了解详细的更新步骤。如果您已拥有一台 Pixel 设备,请访问 Beta 体验计划,并在设备上获取更新。如果您已加入计划,设备将马上收到更新推送。如果您想开始为 Android Q Beta 开发应用,请移步 developer.android.google.cn/preview。

隐私及安全

正如我们之前在 Google I/O 开发者大会上分享的一样,Google 十分注重用户隐私及安全,因此我们在 Android Q 中增加了许多安全防护方面的功能。

隐私

隐私是 Android Q 的主要着力点,从提升平台的防护等级,到以隐私为中心设计新特性,我们从多个角度突破,力图提供完善的安全措施。当然,让用户享有更多控制权,确保应用和设备透明公开信息的收集和使用,这两点也十分重要。

为了提供更好的隐私保护并授予用户更多控制权,Android Q 在之前几个版本的基础上,引入了多项跨平台变更,例如,我们改进了系统 UI ,并针对应用数据使用权限引入了更为严格的限制。

比如说,Android Q 在位置访问权限方面让用户享有更多控制。应用仍旧可以发起请求,但从 Android Q 开始,用户可选择何时允许应用获取位置信息,如仅在使用该应用时允许、始终允许或拒绝。更多内容,请阅读开发者指南,让应用更好地应对位置管理新规定。

除了位置权限以外,我们还引入了分区储存功能 (Scoped Storage),让用户可以更好地管理设备内文件,并防止应用访问敏感的个人信息与应用数据。您的反馈对该特性的优化起到了很重要的作用,我们最近公布了关于该特性的一些变更,目的是方便您在应用中提供相关支持。这些变更在 Beta 3 已生效。

另一项重要变更是限制应用从后台启动,防止应用突然从后台跳转至前台并挡住前台应用。在 Beta 3 中,我们不再向应用发送 toast 警告,而是直接禁止应用启动。

为了防止应用追踪设备,我们限制应用访问不可重置的设备识别号,如设备 IMEI 码、序列号等等。请仔细阅读最佳实践,为您的用例选择正确的识别号。当应用连接不同的 Wi-Fi 网络时,Android Q 会在连接中都随机化 MAC 地址;另外,我们也将网络连接 API (Connectivity API) 置于位置权限的保护下。我们提早与您分享这些变更,是为了给您预留充足的时间做好准备

安全

为了保障用户安全,我们扩展了 BiometricPrompt 验证框架,让 Android 得以从系统层面提供生物验证支持。另外,我们还扩展了对人脸识别等被动验证方法的支持,并加入了隐式和显式两个类型的身份验证流。在显式验证流中,用户必须明确确认执行事务操作;隐式验证流则主要负责被动验证这类较为轻便的事务,无需用户提供明确确认。

Android Q 还添加了 TLS 1.3 支持。TLS 1.3 是 TLS 标准的一次比较重要的更新,它在安全性、性能和隐私方面都进行了大幅优化。根据我们收集到的数据显示,与 TLS 1.2 相比,1.3 版本中安全网络连接的建立速度加快了 40%。TLS 1.3 默认启用,不论应用针对哪个等级的 API 开发,都需通过 Android TLS 堆栈建立所有 TLS 连接。更多细节,请参考官方文档。

Project Mainline 计划

我们在今天宣布启动 Project Mainline ,目的在于保障 Android 用户的安全,并确保用户设备能够直接从 Google Play 获取最新的重要代码更新。在 Project Mainline 的帮助下,现在我们不再需要设备厂商提供全套的系统更新,而是直接在操作系统内部更新特定的内部组件。这意味着,我们能够长期为设备上提供更新的 OS 代码,提高一致性,同时以更快的速度向用户推送 AOSP (Android 开源项目) 中的代码。

我们计划采用与应用交付更新同样的方式来更新 Project Mainline 的模块——在后台从 Google Play 下载最新版本,待设备下次开机时再完成加载。您可前往 Android 开源项目获取模块的源代码,而且在每次更新发布之后,我们也会将相应代码开源。另外,鉴于 Project Mainline 的开源性,因此,模块中会包含由 Google 合作伙伴和开发者社区贡献的改进与修复代码。

Project Mainline 为用户带去了许多裨益,因为设备可以一直运行最新版本的模块,其中包含安全、隐私和一致性方面的最新更新。这同时也为设备厂商、运营商和企业创造了巨大价值,他们不再需要升级整个系统,便能完成 OS 关键部分的性能优化与安全提升。

我们期望 Project Mainline 可以帮助应用和游戏开发者在所有设备上部署关键领域的平台实现,并逐渐提高平台一致性,从而降低开发与测试成本并保障应用的正常工作。所有运行 Android Q 或更高版本系统的设备将在不久后收到 Project Mainline 计划的推送。目前,我们正在与生态圈伙伴积极合作,确保各大厂商的设备尽早作好万全准备。

创新与新体验

Android 正处在创新的风口浪尖,在与生态圈合作伙伴的共同努力下,我们融合硬件和软件的前沿技术,力图带给用户前所未有的数字新体验。

折叠屏设备

世界各大顶级厂商在今年发布了多款折叠屏设备,这不仅为 Android 生态圈注入了源源活力,还标志着屏幕技术的又一飞跃。这些设备在折叠时相当于一部手机,而展开时又可当作精美的平板使用。

我们对 Android Q 进行了多项优化,确保折叠和展开操作发生时屏幕的无缝连续性,同时,应用与游戏的当前页面也可延续至另一个屏幕。在多任务处理方面,我们改进了 onResume onPause 的工作模式,以便为 multi-resume 提供更好的支持,另外我们还添加了当应用获得焦点后的通知功能。为了帮助您管理应用在折叠屏及大屏上的显示,我们还更新了 resizeableActivity 属性的工作方式。

我们的合作伙伴已经推出了不少创新力十足的折叠设备,今后将会有更多设备陆续面世,敬请期待!您可通过 Android 3.5 Canary 版本配置一个折叠屏模拟器,现在就开始开发和测试您的应用。

视频连接: www.youtube.com/watch?v=4dI…

5G 网络

作为无线技术的新一轮革命,5G 技术意味着更快的速度与更低的延迟,赋能开发者解锁新的应用体验,或者升级现有功能。

Android Q 为 5G 增添了平台支持并扩展了现有 API,帮助您顺利完成应用的 5G 转型。您可使用网络连接 API (Connectivity API) 来检测设备是否具备高宽带连接以及它是否属于计费连接。这样一来,您的应用和游戏便可为用户定制丰富、沉浸度高的 5G 体验。

得益于 Android 开放的生态文化以及合作伙伴的鼎力相助,我们预计 5G 技术会很快迎来大规模商用时代。今年已有超过 12 家 Android 厂商发布了 5G 设备;全球也有超过 20 家运营商即将落地 5G 网络,其中部分运营商已实现大规模 5G 组网。

Live Caption

除硬件创新之外,我们还会继续利用 Android AI 技术推动软件革新,为更多用户打造更智能、更便捷的 OS 操作系统。其中,实时字幕 (Live Caption) 就是一个很好的例子,它是 Android Q 引入的一项新特性,当用户在手机上播放视频时,它便能为手机视频自动添加字幕。

许多人会选择收看带字幕的视频,因为这样一来,即使在路上或者拥挤的场所,他们依旧可以跟上视频播放的内容。但是,对于全世界 4 亿 6 千 6 百万听障人士而言,字幕不仅意味着简便,这赋予了他们触及内容的机会,而 Live Caption 正是 Google 与听障群体协同合作的成果。

视频连接: www.youtube.com/watch?v=YL-…

Live Caption 功能可以为手机上任何应用内的多媒体文件添加实时字幕,支持的文件类型包括视频、播客、语音信息和用户自录音频。而且,得益于我们在今年上半年在语音识别方面的突破性进展,该功能在无网络连接的条件下也可使用,所有工作都在设备端完成。实时语音模块在手机上离线运行,所有音频信息也不会泄露出设备。

对于开发者来说,由于 Live Caption 功能让数字媒体真正 "触" 指可及,因此它能为您的应用和游戏带来更多用户。Live Caption 功能将在今年下半年正式与大家见面。

通知内建议操作

我们在 Android Pie 中就已引入智能回复功能,让用户可以直接通过通知与应用发生互动。不过,尽管我们提供了用于附加回复和操作的 API,但是具体的构建代码仍旧需要由开发者自行编写。

在 Android Q 中, 我们可以希望在不增加开发者工作量的前提下,在所有应用内实现智能回复支持。从 Beta 3 开始,我们启用了由系统提供的智能回复和建议操作,在默认设置下,这些回复与操作会直接显示在通知内。

当然,开发者也可以为自己的应用设计专属的回复与操作,比如说通过 ML Kit 或者其它机器学习框架。如果您不想在通知内使用系统提供的回复和操作,只需调用 setAllowGeneratedReplies()setAllowSystemGeneratedContextualActions() 即可。

Android Q 智能建议功能与文本识别器实体识别服务一样,均由系统内置的设备端机器学习服务所驱动。我们在开发该功能的时候充分考虑了用户隐私安全的重要性,因此整个机器学习处理完全在设备上进行,全程不涉及后台服务器。

由于建议操作是基于 TextClassifier 服务开发的,因此它可以利用 Android Q 新引入的一些功能,如语言识别。您可直接通过 TextClassifier API 来生成由系统提供的通知与操作,必要时,也可与自行设计的回复和操作混合使用。

全局夜间模式

不少用户更喜欢使用具备夜间模式的应用。当光线变暗时,他们可转用夜间模式,这既有助于减缓眼部疲劳又能省电。与此同时,用户也希望 Android 可以提供一种更为简便的方式,让他们能在各种设备上启用夜间模式。夜间主题上榜热门请求已经有一段时间了,而 Android Q 终于把它带向了用户。

从 Android Q Beta 3 开始,用户可通过以下三种途径激活新的全局夜间模式:

(1) 点击设置,进入显示

(2) 新的快捷设置

(3) 启动省电模式。在夜间模式下,系统界面会变暗,而提供支持的应用也会同时启用夜间模式。您可选择为应用开发专属的夜间主题,或开启 "强制变暗" (Force Dark) 功能,让操作系统为现有主题重新创建一个夜间版本。您只需在应用的当前主题内设置 android:forceDarkAllowed="true" 即可。

您或许想要自己操刀设计应用的夜间主题,所以我们努力改进了 AppCompat 的 DayNight 特性。应用可以通过 DayNight 向所有 Android 用户提供夜间主题,完全不受系统版本的影响。更多内容,请阅读官方文档

手势导航

许多最新款的 Android 设备都配有精美的无框屏幕,而用户也想要尽情享用大屏带来的极致体验。在 Android Q 中,我们引入了一款全新的手势导航模式。在该模式下,导航栏区域会处于隐身状态,应用和游戏的内容可以真正做到全屏显示。系统依旧保留了大家所熟悉的返回上一级、主界面和最近使用这三个功能,不过用户需要滑动屏幕,而非点击按钮,来进行操作。

用户需依次点击设置 > 系统 > 手势,来启用或关闭手势导航。目前系统支持的手势操作有以下两种: 从下向上滑动可返回主界面;从左或右边缘向内滑,则可触发返回上一级操作。

如需无缝集成手势导航功能,应用需要使用边到边全屏显示,并设计显示在导航栏背侧的内容,从而给用户带去沉浸式体验。为了实现这一点,应用首先得调用 setSystemUiVisibility() API 进行全屏布局,然后妥善处理 WindowInsets,确保关键 UI 界面清晰可见。更多内容,请参阅官方文档

数字健康

数字健康是 Android 研发工作的第三个主题。我们想要为用户提供合适的工具,让他们可以直观地了解设备的使用情况,以更健康的方式使用数字产品。因此,我们在去年提出了数字健康这个概念,并将其整合至多个使用场景: 仪表盘 (Dashboard)、应用定时器 (App Timer)、勿扰模式 (Flip to Shush) 和放松模式 (Wind Down)。在这些工具的协助下,用户建立了一种更为健康的数字生活,其中,应用定时器让用户在 90% 以上的时间内集中注意力,专心完成既定目标,而放松模式则减少了 27% 的夜间使用时间。

今年,为了更好地帮助用户在数字生活中取得平衡,我们又添加了两款新工具——专注模式 (Focus Mode) 与 Family Link。

专注模式

如果您想在工作与学习时保持高度专心,集中精力完成某个任务,那么,专注模式便是您的不二之选。启用该模式后,您可以勾选可能会让您分心的应用,并屏蔽来自它们的推送,比如说,暂停使用邮件和新闻,但保持地图及短信应用处于活跃状态。当您想要集中注意力时,您可直接点击快捷设置内的专注模式。启用后,选定应用便会一直处于静音状态,直到设备退出专注模式。专注模式将在今秋登陆 Android 9 和 Android Q 设备。

Family Link

Family Link 是我们面向家长新推出的一套控制工具。从 Andrdoi Q 开始,Family Link 会作为系统功能出现在设置界面里。当您为小朋友设置新设备时,Family Link 会将设备连接至您的 Google 账号。接着,您便可为孩子的设备设定每日使用时限,了解他们的应用使用情况,或查看他们想安装的新应用,您甚至可以设置就寝时间,在该睡觉的时候断开设备连接。此外,Android Q 还允许您单独限制某几个应用的使用时间,或者适当延长设备的使用时间作为奖励,让孩子晚 15 分钟睡觉。我们将在今年秋天为 Android P 和 Android Q 设备添加 Family Link 功能。点击查看还有哪些出色的健康应用荣获了 "Google Play 2019 拥抱美好生活杰出应用" 大奖。

Family Link 允许家长设置就寝时间,并适当延长孩子的设备使用时间作为奖励

Android 基础

我们一直在增加核心功能的数量,努力塑造出更为强劲的 Android 基础,从而助力各位开发者为用户带去新体验,以下为我们目前在这个方面取得的一些成果与进展。

P2P及网络连接优化

在 Android Q 中,我们对 Wi-Fi 技术栈进行了重构,这不仅提升了应用在隐私及性能方面的表现,而且对许多常见用例也有一定的优化作用,如 IoT 设备管理以及建议网络连接等——而且无需应用请求位置权限。网络连接 API (Network Connection API) 让您能够更轻松地通过本地 WiFi 管理 IoT 设备,并使用配置、下载和打印等 P2P 功能。应用可通过网络建议 API (Network Suggestion API) 向用户显示偏好的 Wi-Fi 网络,并发起网络连接。

Wi-Fi 性能模式

在 Android Q 中,应用可启用高性能、低延迟的自适应 Wi-Fi 模式,在网络延迟比较敏感的场景下,如实时游戏、主动呼叫等,确保流畅的用户体验。一旦启用,Android 平台将与设备固件协同工作,实现最低能耗。如需启用新的性能模式,请调用 WifiManager.WifiLock.createWifiLock()

完全支持高精度 Wi-Fi RTT 室内定位

Android 9 Pie 引入了 RTT API ,方便应用进行室内定位。该 API 可帮助应用计算 Wi-Fi 封包之间的往返时间,接而获取与附近 Wi-Fi 接入点 (AP) 的距离。接入点需支持 IEEE 802.11mc 协议。我们在 Android Q 中完善了对 IEEE 802. 11mc 标准的实现,新增加的 ResponderLocation API 可获取各个接入点的位置信息,它们由其所有者在安装时进行配置。

音频回放捕捉

我们在上文已经介绍过了 Live Caption 这个特性,有了它的帮助,任何应用中的音频文件都可被转化成文本,然后立即以字幕形式呈现在屏幕上。Live Caption 无缝体验为跨应用音频流分享提供了强劲的推动力。在 Android Q 中,所有支持音频播放的应用均可通过 AudioPlaybackCaptureConfiguration API 允许另一个应用捕捉它的音频流。除添加字幕以外,该 API 还可让您支持游戏直播等其它热门用例,而且完全不会对原应用或游戏造成延迟。

我们在设计这个新功能的时候也考虑了隐私和版权问题,因此应用间捕捉音频的能力是有限制的,开发者可以自行控制是否允许其它应用捕捉完整版音频文件。更多技术细节,请阅读官方文档

图片动态深度

从 Android Q 开始,应用可在支持设备上请求生成动态深度图片,文件内包含与深度元素相关的 JEPG 与 XMP 元数据,并内嵌一组深度图与置信图。"JPEG + 动态深度" 图片可以帮您在应用中实现模糊或散景效果。您甚至可以利用这些数据生成 3D 图片或为 AR 摄像用例提供支持。动态深度是一款供所有生态圈伙伴使用的开放格式——您可以了解最新的格式规格。目前,我们正在与各大设备厂商展开密切合作,希望尽早普及 Android Q (以及未来版本系统) 设备对该图片格式的采用率。

动态深度图片可帮助您在应用中实现模糊或散景效果
全新的音频及视频解码器

Android Q 现已支持开源视频解码器 AV1,媒体供应商只需更少的带宽就能将高质量视频内容传输至 Android 设备上。此外,Android Q 还添加了对 Opus 音频格式的支持。Opus 编码器能自动识别输入信号是语音还是音乐,然后据此选择优化的编码模式。此外,用户也可在支持 HDR 10+ 的 Android Q 设备上,播放高动态范围视频。MediaCodecInfo API 为开发者判定 Android 设备的视频渲染能力提供了一种更为简便的方法。所有编码器都配有所支持文件体积和帧率的相关信息。

Vulkan 1.1 和 ANGLE

我们将继续扩展 Vulkan 在 Android 平台上的应用范围,努力将其打造成一低成本、跨平台的高性能 3D 图形 API。目前,我们正在与多家设备厂商合作,希望将 Vulkan 1.1 作为运行 Android Q 或更高版本系统的设备要求:对64 位设备为硬性要求,而对 32 位设备则为推荐配置。为了给使用 OpenGL 的游戏和图形开发者提供更强大的技术支持,我们正在为基于 Vulkan 的设备开发一款标准的、可更新的 OpenGL 引擎。此外,Android Q 还在在 Vulkan 基础上为 Android 设备添加了ANGLE 实验性支持。更多信息,请参阅 Android官方文档

神经网络 API 1.2

我们在神经网络 API 1.2 中新增了 60 个算子,包括 ARGMAX、ARGMIN、量化 LSTM,以及大量性能优化,为广泛的模型加速奠定了坚实的基础,如目标检测模型和图像分割模型。我们现在正在和硬件合作伙伴以及主流机器学习框架提供商 (如 TenserFlow) 展开积极合作,共同推进神经网络 API 1.2 优化及支持工作。

热感 API

当设备过热时,CPU 和 GPU 便无法正常工作,这会对应用和游戏的运行造成严重影响。从 Android Q 开始,应用和游戏可通过热感 API (Thermal API) 监测设备的温度变化,并采取对应措施让设备降回正常温度。比如说,流媒体应用可降低分辨率/或比特率或网络流量,相机应用可以禁用闪光或图像增强,游戏则可选择降低帧率或减少曲面细分中的多边形数量。更多信息,请阅读官方文档

ART 运行时优化

Android Q 大幅改进了 ART 运行时。开发者无需进行任何操作,便可有效缩短应用的启动时间,减少内存消耗,并提高应用的运行流畅度。为了加快应用的初始启动速度,Google Play 现在除了 APK 文件之外,还会提供基于云的配置文件。这是一套已经过匿名化处理的汇总 ART 配置文件,允许 ART 在应用开始运行之前就预编译一部分代码。基于云的编译文件适用于所有应用,而且运行 Android P 或更高版本系统的设备目前已提供相关支持。

此外,我们还在 ART 的并发复制垃圾收集器 (Concurrent Copying Garbage Collector) 中添加了分代收集机制 (Generational Garbage Collection)。分代算法可以将新生代的对象单独收集出来,与 full-heap GC 相比成本更小。引入分代算法后,ART 垃圾回收速度和 CPU 利用效率有了明显提升,在减少垃圾的同时,让应用可以在低端设备上更流畅地运行。

更多 Android Q Beta 支持设备,Treble 项目继续发力

在 2017 年 Android Oreo 发布之际,我们同时也推出了 Project Treble 计划,目的是加快 OS 操作系统的更新步伐。Project Treble 计划提供了一套稳定且可测试的接口,用于连接 Android 操作系统及由设备厂商和芯片厂商编写的底层代码,大大提高了新版本系统移植的简便性和模块化程度。

我们在 2018 年与合作伙伴展开紧密合作,首次在 Treble 设备上实现 OS 系统更新,并取得了喜人的成果: 在去年的 Google I/O 大会上,除了 Google 出品的 Pixel 和 Pixel 设备之外,另有来自 7 家合作厂商的 8 款机型加入了 Android P Beta 项目。时至今日,我们看到 Android Pie 更新速率大幅加快,与去年同时间的 Android Oreo 发布相比,支持设备的数量上涨至 2.5 倍。

待到今年推出 Andoid Q 之时,Project Treble 计划的势头愈发强劲,除了 Pixel 全线机型之外,共有来自 12 家全球顶级设备厂商的 15 款机型支持推送 Android Q Beta 3。我们同时提供了 Q Beta 3 GSI 通用系统映像。它们均提供相同的行为、API 和特性,让您可以在超多款设备上测试应用,通过多种途径尝鲜试用 Android Q。

请访问 android.com/beta,获取完整版支持机型及 Pixel 设备列表。立即选择您最喜欢的设备,上手一试 Android Q Beta并向我们分享您的使用感受吧!

探索新特性和 API

当您准备就绪后,请进一步探索 Android Q, 了解可在应用中使用的诸多新特性及 API。请阅读 API 差异报告了解 Beta 3 中引入的变更,或阅读 Android Q Beta API 参考文档,获取详细技术细节。此外,我们也在 Android Q Beta 开发者官网为您准备了更多资源,如版本说明报错指南

如果您想为 Android Q 开发应用,只需将 Android Q Beta SDK 和工具下载到 Android Studio 3.3 或更高版本,并按照步骤配置开发环境。 如果需要 Android Q 行为变更的最新修复,建议您使用 Android Studio 3.5 (或更高版本)。

如何获取 Beta 3 ?

获取步骤很简单! Pixel 用户请加入 Beta 测试计划并获取更新。如果您已加入,无需任何行动,设备将很快收到更新推送。此外,系统镜像文件也已开放下载

Android Q Beta 测试计划中的其它设备也会收到 Beta 3 更新推送,这些设备同样也由 Google 的顶级设备合作商提供。请访问 android.com/beta 查看全部的支持机型和 Pixel 设备,每款设备都提供了详细的配置参数和官网链接,您可前往对应网站进行下载、获取支持或反馈问题。

为了能在支持测试设备上进行更多测试,您可下载 Android GSI 通用系统映像。如果暂时没有可以运行 Android Q 的设备,您也可以使用模拟器进行测试,请通过 Android Studio 中的 SDK Manager 下载最新版本的模拟器系统映像。

您的反馈意见对我们非常重要,欢迎您在下方评论区留言或点击这里 提交产品反馈建议,分享您的使用感受、想法与建议。我们已经收到了许多宝贵的反馈,目前,我们正在紧锣密鼓地进行 Beta 4 的开发工作,希望可以尽多地整合大家的意见与建议。

期待您的应用在 Android Q 上的精彩表现!

点击这里提交产品反馈建议

关注下面的标签,发现更多相似文章
评论