欢迎体验 Android 10!
作者: Stephanie Cuthbertson, Android 高级产品管理总监
Android 10 聚焦移动创新、安全隐私和数字健康三大主题,全面打造最佳用户体验。首先,Android 10 利用前沿机器学习技术,助力折叠屏、5G 等新型设备,勇于突破传统技术壁垒,让用户畅享最具创新力的移动体验。其次,Android 10 注重安全与隐私,引入了近 50 个安全特性,力图为用户带去更强大的安全防护,以行动践行公开透明原则,并赋予用户更多控制权。第三点,Android 10 进一步优化了平台的数字健康功能,帮助用户和家庭更好地实现科技与生活之间的平衡。
Android 开源项目
https://source.android.google.cn/
Android 10 新特性
《Android 10 的十大技术创新》
https://blog.google/products/android/android-10/
创新与新体验
《打造适用于可折叠设备的应用》
https://developer.android.google.cn/preview/features/foldables
5G 网络: 5G 技术可大幅提高数据传输速度并降低延迟。Android 10 提供 5G 平台支持,并对现有 API 进行了扩展,全面助力开发者利用 5G 技术推动应用创新。您可调用网络连接 API (connectivity API) 判定设备是否可以高速联网,以及当前的网络是否计费。透过这些能力,希望您能开发出更加丰富的沉浸式 5G 体验应用。
现有 API https://developer.android.google.cn/reference/android/net/ConnectivityManager
自行选择 https://developer.android.google.cn/guide/topics/media/playback-capture#allowing_playback_capture
视频地址: https://www.youtube.com/watch?v=YL-8Xfx6S5o
通知中的智能回复: Android 10 利用设备内置机器学习技术,在通知中显示与当下场景相关的建议操作,例如消息智能回复,或者当通知中包含地址信息时,建议用户开启地图应用。我们在开发这项功能时也考虑到了用户隐私问题,因此所有的机器学习任务完全在设备本地执行。不如立即上手一试,为应用添加由系统生成的回复和操作;当然,如果您想自行为应用设计通知内容,亦可选择停用该功能。
停用
https://developer.android.google.cn/reference/android/app/Notification.Action.Builder#setAllowGeneratedReplies(boolean)
智能回复功能会根据通知内容向用户提供建议操作
深色主题: Android 10 添加了系统全局深色主题,让用户可以在光线较暗的环境中更轻松的使用设备,并且大幅度减少设备耗电量。您可为应用添加自定义深色主题,或者让操作系统为现有主题动态创建一个深色版本。更多技术细节,请参阅《深色主题》官方文档。
《深色主题》 https://developer.android.google.cn/guide/topics/ui/look-and-feel/darktheme
深色主题背景下的 Google Keep
手势导航: Android 10 引入了手势导航模式,这一功能启用后,原有的底部导航栏设计会消失,让应用真正实现全屏显示,为用户创造更丰富、沉浸度更高的数字体验。请阅读《手势导航》官方文档,学习具体的优化步骤。
《手势导航》 https://developer.android.google.cn/guide/navigation/gesturenav
用户隐私
Android 10 开发者官网 https://developer.android.google.cn/about/versions/10/privacy/
《定期接受位置更新》 https://developer.android.google.cn/training/location/receive-location-updates
要求必须获取 FINE 位置权限 https://developer.android.google.cn/about/versions/10/privacy/changes#location-telephony-wifi-bluetooth
最佳实践 https://developer.android.google.cn/training/articles/user-data-ids 《Android 10 隐私权变更: 不可重置的设备识别号限制》 https://developer.android.google.cn/preview/privacy/data-identifiers
外部储存中的用户数据保护: Android 10 引入多项变更,给予用户更多控制权用于管理外部储存中的文件以及其中的应用数据。应用可以在私有沙盒中储存自有文件,但是必须使用 MediaStore 才能访问共享多媒体文件,或使用系统选择器来访问下载集合中的共享文件。请阅读《Android 10 隐私权变更: 外部储存中的应用文件及多媒体》,获取更多内容。
《Android 10 隐私权变更: 外部储存中的应用文件及多媒体》
https://developer.android.google.cn/about/versions/10/privacy/changes#scoped-storage
《Android 10 隐私权变更: 针对后台 Activity 启动的限制》 https://developer.android.google.cn/preview/privacy/background-activity-starts
我们不断地评估在 Android 安全方面地投入,我们将其称之为可衡量的安全。第三方机构发布的分析报告是重要的参考依据之一,比如说,Gartner 在 5 月发布了一份《2019 年度移动操作系统和设备安全报告》(订阅后才能阅读完整版报告),该报告针对身份验证、网络安全、恶意软件防护等 30 个项目进行打分,Android 在其中 26 项上夺得最高分。如果您想知道我们在改善平台安全方面作出了哪些长期努力,请阅读《量化可衡量的安全》。不过,安全防护是一场没有终点的探索,因此,我们为 Android 10 引入了更多的安全特性,围绕加密技术、平台加固和身份认证进行了多方位升级。
《2019 年度移动操作系统和设备安全报告》 https://www.gartner.com/en/documents/3913286 《量化可衡量的安全》 https://security.googleblog.com/2019/05/quantifying-measurable-security.html
Andiantum
https://source.android.google.cn/security/encryption/adiantum
TLS 1.3 https://www.ietf.org/blog/tls13/ 安全 https://developer.android.google.cn/about/versions/10/behavior-changes-all#tls-1.3
强化了平台内几大关键安全领域的防护工作 https://security.googleblog.com/2019/05/queue-hardening-enhancements.html BiometricPrompt https://developer.android.google.cn/reference/android/hardware/biometrics/package-summary
摄像头和媒体
开放格式 https://developer.android.google.cn/training/camerax/Dynamic-depth-v1.0.pdf
动态深度图片可帮助您在应用中实现模糊或散景效果
音频回放捕捉 API https://developer.android.google.cn/reference/android/media/AudioPlaybackCaptureConfiguration
AV1
https://en.wikipedia.org/wiki/AV1
只需更少的带宽
https://en.wikipedia.org/wiki/AV1#Quality_and_efficiency
Opus
http://opus-codec.org/
HDR 10+
https://en.wikipedia.org/wiki/High-dynamic-range_video#HDR10+
原生 MIDI API: 针对使用 C++ 代码处理音频文件的应用,Android 10 引入了一款原生 MIDI API,让应用可以通过 NDK 与 MIDI 设备进行通讯。应用可在音频的回调函数中通过非阻塞方式读取 MIDI 数据,达到低延迟的 MIDI 信息处理效果。欢迎大家试用参考示例应用,并参考其源代码。
原生 MIDI API https://developer.android.google.cn/ndk/guides/audio/midi 源代码 http://github.com/googlesamples/android-ndk/tree/master/native-midi
随时随地,尽享 Vulkan: 我们要求所有运行 Android 10 或更高版本系统的 64 位设备必须支持 Vulkan 1.1,对于 32 位设备则为推荐配置。我们已经看到了 Android 生态圈对 Vulkan 的强力支持,在运行 Android N 或更高版本的设备中,超过半数提供了 Vulkan 1.0.3 (或更高版本) 支持。随着 Android 10 的新规定落地,我们预计会有更多设备在未来一年内支持 Vulkan。
Vulkan 1.1 https://developer.android.google.cn/ndk/guides/graphics/
网络连接 API
https://developer.android.google.cn/guide/topics/connectivity/wifi-bootstrap
网络建议 API
https://developer.android.google.cn/guide/topics/connectivity/wifi-suggest
高性能、低延迟的自适应 Wi-Fi 模式 https://developer.android.google.cn/reference/android/net/wifi/WifiManager.html#createWifiLock(int,%20java.lang.String)
ART 配置文件 https://android-developers.googleblog.com/2019/04/improving-app-performance-with-art.html
使用 Play 配置文件后,应用启动时间有所缩短
神经网络 API 1.2: 我们在神经网络 API 1.2 中新增了 60 个算子,其中包括 ARGMAX、ARGMIN、量化 LSTM,以及大量的性能优化,这为模型加速奠定了坚实的基础,如目标检测模型和图像分割模型。目前,我们正在和硬件以及主流机器学习框架厂商 (如 TensorFlow) 展开积极合作,共同推进神经网络 API 1.2 的优化和支持工作。
TensorFlow https://www.tensorflow.org/
加快更新,尝鲜体验
新平台的普及依旧是 Android 10 的工作重点之一,我们继续与设备厂商以及高通等芯片合作伙伴展开紧密合作,争取更快将 Android 10 带向更多设备。Treble 项目在此扮演着十分关键的角色,在该项目的帮助下,18 款合作伙伴设备和 8 款 Pixel 设备加入了今年的 Android Beta 项目,Beta 机型数量比去年多了一倍。更棒的是,我们预期这些设备在年底之前均会收到 Android 10 的官方更新推送,与此同时,我们也在与合作伙伴携手推进新旗舰机型的发布与升级工作。我们已经感受到了 Android 10 的澎湃动力,与之前几个版本相比,将有更多用户会在接下来的几个月内亲身体验新版本系统带来的强大表现。
Treble 项目
https://source.android.google.cn/devices/architecture
Mainline 项目
https://android-developers.googleblog.com/2019/05/fresher-os-with-projects-treble-and-mainline.html
将您的应用适配至 Android 10!
具体操作如下:
在 Android 10 上安装您的应用: 请从应用商店下载您的应用,并安装至 Pixel 设备或者其他运行 Android 10 的设备或模拟器,然后进行测试。您的应用应该运行流畅,界面美观,实现完整功能,并妥善处理 Android 10 的各项行为变更。请注意隐私变更、手势导航、生物验证库的动态链接路径变化等各项特性带来的影响。 测试 Android 10 的隐私特性,如新的位置权限、分区储存、限制从后台启动 activity、关于数据和设备识别符方面的变更等。请查看隐私特性清单并阅读行为变更文档,了解更多需要测试的范围。 测试应用正在使用的受限制的非 SDK 接口,并尽快转用公开 SDK 或 NDK 替代接口。请阅读《非 SDK 接口在 Android 10 中的受限情况出现变化》获取更多信息。 测试应用中的开发库和 SDK: 如果您发现任何问题,请尝试更新到最新版本的 SDK, 或联系 SDK 开发者以获取帮助。 更新并发布兼容 Android 10 的应用: 在测试完毕并进行必要更新后,我们建议您立即发布适配后的应用。这会帮助您的用户顺利完成 Android 10 的升级和过渡。
模拟器
https://developer.android.google.cn/studio/run/managing-avds.html
Android 10 的各项行为变更
https://developer.android.google.cn/about/versions/10/behavior-changes-all
隐私变更
https://developer.android.google.cn/about/versions/10/privacy/changes
手势导航
https://developer.android.google.cn/guide/navigation/gesturenav
生物验证库的动态链接路径变化
https://developer.android.google.cn/about/versions/10/behavior-changes-all#bionic
新的位置权限
https://developer.android.google.cn/about/versions/10/privacy/changes#app-access-device-location
分区储存
https://developer.android.google.cn/about/versions/10/privacy/changes#scoped-storage
从后台启动 activity
https://developer.android.google.cn/about/versions/10/privacy/changes#background-activity-starts
关于数据和设备识别符方面的变更
https://developer.android.google.cn/about/versions/10/privacy/changes#data-ids
隐私特性清单
https://developer.android.google.cn/about/versions/10/privacy#top-privacy-changes
行为变更文档
https://developer.android.google.cn/about/versions/10/privacy/changes
《非 SDK 接口在 Android 10 中的受限情况出现变化》
https://developer.android.google.cn/about/versions/10/non-sdk-q
针对新版本 Android 测试并适配应用对加快整个生态圈内的平台更新速度至关重要,因此,请各位开发者尽可能优先处理 Android 应用的适配工作。
利用 Android 10 特性和 API 提升您的应用
一切准备就绪后,请您尽情探索 Android 10,并了解可供应用使用的新特性与 API。我们从中挑选了一些最重要的特性,您可以从这些特性着手,逐步提升应用的性能和体验。
新特性与 API
https://developer.android.google.cn/about/versions/10/features
深色主题: 为了确保用户在启用全局夜间模式后能够享受到一致的体验,请您在应用中添加深色主题,或启用 Force Dark 功能。
支持手势导航: 为用户提供边到边的视觉体验,同时确保应用的自定义手势与系统手势互相配合。
适配折叠屏: 针对折叠屏为应用进行优化,以便在现代创新设备上实现无缝体验。
深色主题 https://developer.android.google.cn/guide/topics/ui/look-and-feel/darktheme Force Dark 功能 https://developer.android.google.cn/guide/topics/ui/look-and-feel/darktheme#force_dark 手势导航 https://developer.android.google.cn/guide/navigation/gesturenav 针对折叠屏为应用进行优化 https://developer.android.google.cn/guide/topics/ui/foldables
互动性更高的消息通知: 如果您的通知中包含消息,请启用通知内的智能回复及建议操作,以增强用户互动,并让他们可以立即采取行动。
更好的生物验证支持: 如果应用需要处理生物验证用例,推荐您使用 BiometricPromt,它是在现代设备上支持指纹身份验证的首选方式。
音频回放捕捉: 如需支持字幕生成或游戏录制,请在应用中启用音频回放捕捉功能。这能让您的应用惠及更多用户,并更好地支持无障碍体验。
更好的编解码器: 媒体应用请利用 AV1 进行视频传输,并通过 HDR 10+ 播放高动态范围视频;语音和音乐应用请使用 Opus 进行音频编码。另外,我们还为音乐工作者提供了原生 MIDI API。
更好的网络连接 API: 如果您的应用通过 Wi-Fi 管理 IoT 设备,不妨试一下新的网络连接 API (network connection API) 来执行配置、下载或打印等功能。
通知内的智能回复及建议操作 https://developer.android.google.cn/about/versions/10/features#smart-suggestions BiometricPrompt https://developer.android.google.cn/training/sign-in/biometric-auth 音频回放捕捉功能 https://developer.android.google.cn/preview/features/playback-capture AV1 https://en.wikipedia.org/wiki/AV1 Opus http://opus-codec.org/ HDR 10+ https://en.wikipedia.org/wiki/High-dynamic-range_video#HDR10+ 原生 MIDI API https://developer.android.google.cn/ndk/guides/audio/midi 网络连接 API https://developer.android.google.cn/guide/topics/connectivity/wifi-bootstrap
请前往 Android 10 开发者官网查看完整列表。
如果您要面向 Android 10 开发应用,请将 API 29 SDK 和工具下载至 Android Studio 3.5 稳定版或更高版本,然后按照操作步骤配置环境。
Android 10 开发者官网 https://developer.android.google.cn/about/versions/10/ Android Studio 3.5 稳定版 https://developer.android.google.cn/studio/ 按照操作步骤 https://developer.android.google.cn/about/versions/10/setup-sdk
即刻升级设备!
开放下载
https://developers.google.cn/android/images
下载 GSI 通用系统映像文件
https://developer.android.google.cn/topic/generic-system-image/releases
Android 开源项目
https://source.android.google.cn/
代码库
https://android.googlesource.com/
下一步
提交新的错误报告
https://issuetracker.google.com/issues/new?component=190923&template=841312
想了解更多 Android 内容?
在公众号首页发送关键词 “Android”,获取相关历史技术文章;
还有更多疑惑?欢迎点击菜单 “联系我们” 反馈您在开发过程中遇到的问题。
推荐阅读