做者: Dave Burke, 工程部副总裁html
I/O'19 期间 Android 达成了两项里程碑的成就: 其一,迎来第 10 个主版本;其二,全球活跃设备数量突破 25 亿台。java
在前几天的 2019 Google I/O 开发者大会上,咱们介绍了 Android Q 的一些新特性,并发布了 Android Q 的最新版本——Android Q Beta 3。不管是对于 Beta 3,仍是即将在今秋发布的稳定版 Android Q 而言,您的反馈都是推进咱们进步的强大动力,在此,十分感谢你们一路以来的支持!android
今年,用户可在由 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。api
正如咱们以前在 Google I/O 开发者大会上分享的同样,Google 十分注重用户隐私及安全,所以咱们在 Android Q 中增长了许多安全防御方面的功能。安全
隐私性能优化
隐私是 Android Q 的主要着力点,从提高平台的防御等级,到以隐私为中心设计新特性,咱们从多个角度突破,力图提供完善的安全措施。固然,让用户享有更多控制权,确保应用和设备透明公开信息的收集和使用,这两点也十分重要。服务器
为了提供更好的隐私保护并授予用户更多控制权,Android Q 在以前几个版本的基础上,引入了多项跨平台变动,例如,咱们改进了系统 UI ,并针对应用数据使用权限引入了更为严格的限制。网络
好比说,Android Q 在位置访问权限方面让用户享有更多控制。应用仍旧能够发起请求,但从 Android Q 开始,用户可选择什么时候容许应用获取位置信息,如仅在使用该应用时容许、始终容许或拒绝。更多内容,请阅读开发者指南,让应用更好地应对位置管理新规定。并发
另外一项重要变动是限制应用从后台启动,防止应用忽然从后台跳转至前台并挡住前台应用。在 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 版本配置一个折叠屏模拟器,如今就开始开发和测试您的应用。
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 与听障群体协同合做的成果。
Live Caption 功能能够为手机上任何应用内的多媒体文件添加实时字幕,支持的文件类型包括视频、播客、语音信息和用户自录音频。并且,得益于咱们在今年上半年在语音识别方面的突破性进展,该功能在无网络链接的条件下也可以使用,全部工做都在设备端完成。实时语音模块在手机上离线运行,全部音频信息也不会泄露出设备。
对于开发者来讲,因为 Live Caption 功能让数字媒体真正 "触" 指可及,所以它能为您的应用和游戏带来更多用户。Live Caption 功能将在今年下半年正式与你们见面。
通知内建议操做
咱们在 Android Pie 中就已引入智能回复功能,让用户能够直接经过通知与应用发生互动。不过,尽管咱们提供了用于附加回复和操做的 API,可是具体的构建代码仍旧须要由开发者自行编写。
在 Android Q 中, 咱们能够但愿在不增长开发者工做量的前提下,在全部应用内实现智能回复支持。从 Beta 3 开始,咱们启用了由系统提供的智能回复和建议操做,在默认设置下,这些回复与操做会直接显示在通知内。
固然,开发者也能够为本身的应用设计专属的回复与操做,好比说经过 ML Kit 或者其它机器学习框架。若是您不想在通知内使用系统提供的回复和操做,只需调用 setAllowGeneratedReplies() 和setAllowSystemGeneratedContextualActions() 便可。
因为建议操做是基于 TextClassifier 服务开发的,所以它能够利用 Android Q 新引入的一些功能,如语言识别。您可直接经过 TextClassifier API 来生成由系统提供的通知与操做,必要时,也可与自行设计的回复和操做混合使用。
全局夜间模式
很多用户更喜欢使用具有夜间模式的应用。当光线变暗时,他们可转用夜间模式,这既有助于减缓眼部疲劳又能省电。与此同时,用户也但愿 Android 能够提供一种更为简便的方式,让他们能在各类设备上启用夜间模式。夜间主题上榜热门请求已经有一段时间了,而 Android Q 终于把它带向了用户。
从 Android Q Beta 3 开始,用户可经过如下三种途径激活新的全局夜间模式:
(1) 点击设置,进入显示
(2) 新的快捷设置
(3) 启动省电模式。在夜间模式下,系统界面会变暗,而提供支持的应用也会同时启用夜间模式。您可选择为应用开发专属的夜间主题,或开启 "强制变暗" (Force Dark) 功能,让操做系统为现有主题从新建立一个夜间版本。您只需在应用的当前主题内设置 android:forceDarkAllowed="true" 便可。
手势导航
许多最新款的 Android 设备都配有精美的无框屏幕,而用户也想要尽情享用大屏带来的极致体验。在 Android Q 中,咱们引入了一款全新的手势导航模式。在该模式下,导航栏区域会处于隐身状态,应用和游戏的内容能够真正作到全屏显示。系统依旧保留了你们所熟悉的返回上一级、主界面和最近使用这三个功能,不过用户须要滑动屏幕,而非点击按钮,来进行操做。
用户需依次点击设置 > 系统 > 手势,来启用或关闭手势导航。目前系统支持的手势操做有如下两种: 从下向上滑动可返回主界面;从左或右边缘向内滑,则可触发返回上一级操做。
数字健康是 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 拥抱美好生活杰出应用" 大奖。
咱们一直在增长核心功能的数量,努力塑造出更为强劲的 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 或更高版本系统的设备目前已提供相关支持。
在 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 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 (或更高版本)。
获取步骤很简单! Pixel 用户请加入 Beta 测试计划并获取更新。若是您已加入,无需任何行动,设备将很快收到更新推送。此外,系统镜像文件也已开放下载。
Android Q Beta 测试计划中的其它设备也会收到 Beta 3 更新推送,这些设备一样也由 Google 的顶级设备合做商提供。请访问 android.com/beta 查看所有的支持机型和 Pixel 设备,每款设备都提供了详细的配置参数和官网连接,您可前往对应网站进行下载、获取支持或反馈问题。
为了能在支持测试设备上进行更多测试,您可下载 Android GSI 通用系统映像。若是暂时没有能够运行 Android Q 的设备,您也可使用模拟器进行测试,请经过 Android Studio 中的 SDK Manager 下载最新版本的模拟器系统映像。
您的反馈意见对咱们很是重要,欢迎您在下方评论区留言或点击这里 提交产品反馈建议,分享您的使用感觉、想法与建议。咱们已经收到了许多宝贵的反馈,目前,咱们正在紧锣密鼓地进行 Beta 4 的开发工做,但愿能够尽多地整合你们的意见与建议。
期待您的应用在 Android Q 上的精彩表现!
点击这里提交产品反馈建议