一、Android 13 正式版发布
今天,没做任何预告,谷歌为Pixel用户(Pixel 4、4a、5、5a和6系列等)送出惊喜,Android 13首个稳定版正式推送。
随后,谷歌承诺包括三星、小米、iQOO、摩托、一加、OPPO、Realme、vivo、传音、华硕、夏普、诺基亚、索尼等在内的第三方厂商,也会在今年晚些时候带来升级更新。对Android比较关注的同学可能知道,Android 13带来了安全改进、UI/主题完善、生产力提升、OpenJDK 11 LTS更新、ART优化、垃圾收集改进以及其他各种进化和变化。
需要注意的是,Google Pixel 6/Pixel6 Pro和Pixel 6a由于其搭载自研Tensor处理器,正式版Android 13会连同Bootloader一块更新,带来的结果就是,后续不能降级回Android 12。不过,正参与Android Beta项目也就是使用Android 13测试版的Pixel 6不影响,主要退出Beta,就能回归Android 12。
根据之前官方的介绍,最新的的Android 13主要升级点包括隐私安全和大幅优化大屏、折叠屏、小内存手机的流畅度。
二、新特性汇总
Android 13 面向开发者引入了一些出色的新功能和 API,参考官方Android 13 功能和变更列表,下表列出了所有可能会影响应用开发者的功能和行为变更的记录。
类别 | 类型 | 说明 |
---|---|---|
核心功能 | 变更(所有应用) | 移除了语音服务实现的旧版副本 应用应使用设备的 SpeechService 默认提供程序,而不是硬编码为特定应用 |
核心功能 | 新功能和 API | OpenJDK 11 更新 Android 13 包含许多更新,以与 OpenJDK 11 LTS 版本保持一致 |
开发者工作效率 | 新功能和 API | 按应用设定的语言偏好设置 应用可以使用新平台 API 设置或获得用户在每个应用中的首选语言 |
开发者工作效率 | 新功能和 API | 预测性返回手势 Android 13 针对手机、大屏设备和可折叠设备等 Android 设备引入了预测性返回手势 |
开发者工作效率 | 新功能和 API | 带主题的应用图标 应用可以提供能利用 Material You 动态配色功能在用户设备上设置样式的单色应用图标 |
开发者工作效率 | 新功能和 API | Quick Settings Placement API 提供自定义图块的应用可在“快捷设置”中提供这类图块 |
开发者工作效率 | 新功能和 API | 改进了日语文本换行 TextView 可以按 Bunsetsu(最小自然语素单元)或短语而非字符进行文本换行,从而使日语应用的界面更加美观、易读 |
开发者工作效率 | 新功能和 API | 改进了非拉丁字母的行高 Android 13 通过使用适合每种语言的行高,改进了非拉丁字母(例如泰米尔语、缅甸语、泰卢固语和藏语)的显示 |
开发者工作效率 | 新功能和 API | 文本转换 API 在 Android 13 中,应用可以调用新的文本转换 API,以便使用采用拼音输入法的语言的用户更快、更轻松地找到所需内容 |
开发者工作效率 | 新功能和 API | Unicode 库更新 Android 13 添加了一些最新改进、修复和变更,均包含在 Unicode ICU 70、Unicode CLDR 40 和 Unicode 14.0 中 |
开发者工作效率 | 新功能和 API | 更快断字 Android 13 显著提升了 TextView 实例的断字性能 |
开发者工作效率 | 新功能和 API | 彩色矢量字体 Android 13 可支持呈现 COLR 版本 1 字体,并将系统表情符号更新成了 COLRv1 格式 |
开发者工作效率 | 新功能和 API | 蓝牙 LE 音频 Android 13 内置对 LE 音频的支持,因此,开发者应该能够在兼容设备上免费获取相关的新功能 |
开发者工作效率 | 新功能和 API | MIDI 2.0 Android 13 可支持新的 MIDI 2.0 标准,包括能够通过 USB 连接 MIDI 2.0 硬件 |
媒体 | 新功能和 API | 预期音频路由 应用可以使用新的 API 来确定音频的路由方式 |
平板电脑和大屏设备 | 新功能和 API | 改进了对平板电脑和大屏设备的支持 Android 13 基于 Android 12 中引入的平板电脑优化和 Android 12L 功能更新构建而成 - 包括针对系统界面的优化、更出色的多任务处理功能和改进的兼容模式 |
图形 | 新功能和 API | 可编程的着色器 应用可以使用可编程的 RuntimeShader 对象制作高级效果 |
性能和电池 | 变更(所有应用) | 前台服务 (FGS) 任务管理器 无论应用采用何种目标 SDK 版本,Android 13 都允许用户从抽屉式通知栏中停止前台服务 |
性能和电池 | 变更(所有应用) | 使用 JobScheduler 改进预提取作业处理 在 Android 13 中,系统现在会尝试确定应用下次启动的时间,并根据该估算值运行预提取作业 |
性能和电池 | 变更(所有应用) | 电池资源利用率 Android 13 中引入了“电池资源利用率”功能,以提供多种方法来更好地管理设备电池续航时间 |
隐私权和安全 | 变更(所有应用) | 通知的运行时权限 Android 13 中引入了一种新的运行时通知权限:POST_NOTIFICATIONS |
隐私权和安全 | 变更(所有应用) | 通知的运行时权限 Android 13 中引入了一种新的运行时通知权限:POST_NOTIFICATIONS |
隐私权和安全 | 变更(所有应用) | 从剪贴板中隐藏敏感内容 如果应用允许用户将敏感内容复制到剪贴板,则必须添加一个标志,以便从剪贴板内容预览中隐藏这些内容 |
隐私权和安全 | 变更(所有应用) | 停止使用共享用户 ID 如果应用使用已废弃的 android:sharedUserId 属性且不再依赖该属性的功能,则应改为采用其他机制 |
隐私权和安全 | 变更(以 Android 13 及更高版本为目标平台的应用) | 针对附近 Wi-Fi 设备的新运行时权限 使用某些 Wi-Fi API 时,不需要获取设备物理位置的应用应使用新权限坚决声明此情况 |
隐私权和安全 | 变更(以 Android 13 及更高版本为目标平台的应用) | 在后台使用身体传感器需要新权限 如果应用以 Android 13 为目标平台,并且在后台运行时需要访问身体传感器信息,您就必须声明新的 BODY_SENSORS_BACKGROUND 权限 |
隐私权和安全 | 变更(以 Android 13 及更高版本为目标平台的应用) | intent 过滤器会屏蔽不匹配的 intent 应用不会再接收从外部应用所导出组件的 intent,除非 intent 与声明的 <intent-filter> 元素相匹配 |
隐私权和安全 | 变更(以 Android 13 及更高版本为目标平台的应用) | 细化的媒体权限 应用必须使用单独的权限(而不是 READ_EXTERNAL_STORAGE 权限)来请求访问不同类型的媒体 |
隐私权和安全 | 新功能和 API | 更安全地导出上下文注册的接收器 为了帮助提高运行时接收器的安全性,Android 13 允许您指定您应用中的特定广播接收器是否应被导出以及是否对设备上的其他应用可见 |
隐私权和安全 | 新功能和 API | 照片选择器 应用应使用新的照片选择器为用户提供一种安全的内置媒体文件选择方式,让用户无需向应用授予对整个媒体库的访问权限 |
隐私权和安全 | 新功能和 API | 针对附近 Wi-Fi 设备的新运行时权限 应用可以请求新权限,以便在不获取设备位置信息的情况下发现附近的 Wi-Fi 设备 |
隐私权和安全 | 新功能和 API | 使用精确闹钟的新权限 以 Android 13 为目标平台时,以前需要声明 SCHEDULE_EXACT_ALARM 权限的某些应用现在会自动被授予新的 USE_EXACT_ALARM,而无需向用户请求此权限 |
隐私权和安全 | 新功能和 API | 可由开发者降级的权限 从 Android 13 开始,应用可以撤消先前由系统或用户授予的运行时权限 |
隐私权和安全 | 新功能和 API | APK 签名方案 v3.1 APK 签名方案 v3.1 允许应用在单个 APK 中同时支持原始签名者和轮替签名者,并且该方案还支持 SDK 版本定位 |
隐私权和安全 | 新功能和 API | 改进了密钥库和 KeyMint 中的错误报告功能 对于生成密钥的应用,密钥库和 KeyMint 现在提供更详细且更准确的错误指示器 |
用户体验 | 变更(以 Android 13 及更高版本为目标平台的应用) | 派生自 PlaybackState 的媒体控件 系统现在从 PlaybackState 操作(而不是 MediaStyle 通知)派生媒体控件 |
用户体验 | 新功能和 API | 复制和粘贴方面的改进 向剪贴板中添加内容时,系统会显示标准视觉确认界面,以便用户预览和修改复制的内容 |
三、新特性
3.1 开发者生产力和工具
主题应用图标 - Android 13 将 Material You 的动态颜色扩展到了所有应用图标,让用户可以基于其壁纸和其他主题偏好来选择图标色调。您的应用仅需提供一个单色的应用图标,并对自适应图标 XML 进行一些调整即可。请访问官方文档了解详细信息:developer.android.google.cn/about/versi…
按应用设定语言偏好 - Android 13 可以让应用使用不同于系统语言的其他语言,以更好地满足多语言用户的需求。Android 现在为应用提供了一个标准的 "应用语言" 设置面板 (如果应用选择支持此功能),您还可以调用一个新的平台 API,在运行时获取或设置用户的首选语言区域,从而减少模板代码并提高兼容性。请访问官方文档了解详细信息:developer.android.google.cn/guide/topic…
- 使用 android:localeConfig 将受支持的语言添加到手机设置中developer.android.google.cn/guide/topic…
- LocaleManager developer.android.google.cn/reference/a…
改进的文本支持 - Android 13 针对文本和语言提供了多项改进,帮助您打造更加完美的体验。更快的断字将断字性能优化了多达 200%,因此您现在可以在 TextView 中启用此功能,这几乎不影响渲染性能。通过使用文本转换 API,能让中文、日文等需要使用拼音输入的语言在执行搜索和自动完成等功能时的速度更快。Android 13 还改善了非拉丁文字 (如泰米尔语、缅甸语、泰卢固语和藏语等) 的行高,让字符免于被裁切且更加易于阅读。请访问官方文档了解详细信息:developer.android.google.cn/about/versi…
- 更快的断字
developer.android.google.cn/about/versi… - 文本转换API
developer.android.google.cn/about/versi… - 改进了非拉丁字母的行高
developer.android.google.cn/about/versi…
彩色矢量字体 - Android 13 增加了对 COLR 版本 1 (请参考详细规格和介绍视频) 字体的渲染支持,并将系统表情符号更新为 COLRv1 格式。COLRv1 是一种新的、高度紧凑的字体格式,在任何尺寸下都能快速清晰地渲染。对于大多数应用,这项修改完全无法被感知到,系统会自动处理好一切。您可以在 Chrome 发布公告中了解更多关于 COLRv1 的信息:developer.chrome.com/blog/colrv1…
- COLR 规格
docs.microsoft.com/en-us/typog… - COLR 介绍视频
www.youtube.com/watch?v=Bmq…
快捷设置放置 API - 对于提供自定义快捷设置 (Quick Settings) 图块的应用,Android 13 能让用户更容易发现和添加您的图块。借助新的图块放置 API,您的应用现在可以让用户通过对话框直接添加您的自定义快捷设置图块,而且只需一步即可完成操作,不需要离开您的应用。请访问官方文档了解详细信息:developer.android.google.cn/about/versi…
- TileService developer.android.google.cn/reference/a…
- 图块放置API developer.android.google.cn/reference/a…
可编程着色器 (shader) - Android 13 引入了可编程 RuntimeShader 对象,其行为使用 Android 图形着色语言 (Android Graphics Shading Language, AGSL) 定义。您可以使用这些着色器在自己的应用中实现波纹、模糊和过度滚动拉伸,以及类似的高级效果。请访问官方文档了解详细信息:developer.android.google.cn/guide/topic…
-
RuntimeShader developer.android.google.cn/reference/a…
-
Android 图形着色语言
developer.android.google.cn/guide/topic… -
波纹 (Ripple) cs.android.com/android/pla…
-
模糊 (Blur) cs.android.com/android/pla…
-
过度滚动拉伸 (Stretch) cs.android.com/android/pla…
基于 PlaybackState 的媒体控件 - 对于以 Android 13 为目标平台的应用,系统基于 PlaybackState 操作清单实现了更丰富的媒体控件,从而在手机和平板电脑等设备类型上获得更佳的一致性,并和 Android Auto 和 Android TV 等其他 Android 平台保持一致。请访问官方文档了解详细信息:developer.android.google.cn/about/versi…
- PlaybackState developer.android.google.cn/reference/a…
蓝牙低功耗 (LE) 音频 - 低功耗 (Low Energy, LE) 音频是用于实现新的用例的下一代无线音频。用户可以通过它与朋友和家人分享和广播自己的音频,或订阅公共广播以获得信息、娱乐或无障碍辅助信息。它旨在确保用户能够在不牺牲电池寿命的情况下接收高保真音频,并在不同用例之间无缝切换。Android 13 增加了对低功耗音频的内置支持,开发者们可在兼容的设备上使用这项新功能。请访问官方文档了解详细信息: developer.android.google.cn/reference/a…
- 低功耗 (LE) 音频
www.bluetooth.com/learn-about…
MIDI 2.0 - Android 13 增加了对新的 MIDI 2.0 标准的支持,包括通过 USB 连接 MIDI 2.0 硬件的能力。这个更新的标准提供了一些新功能,如更高的控制器分辨率,更好地支持非西方音调,以及通过单一音符控制器提供更佳的表现力。请访问官方文档了解详细信息: developer.android.google.cn/reference/a…
- 新的 MIDI 2.0 标准
www.midi.org/midi-articl…
OpenJDK 11 更新 - Android 13 核心库已经与 OpenJDK 11 LTS 版本保持一致,为应用和平台开发者提供库更新和 Java 11 编程语言支持。作为对 Android 12 及以上设备的 ART 模块更新的一部分,我们计划通过 Google Play 系统更新将这些核心库的变更发布至更多设备。请访问官方文档了解详细信息: developer.android.google.cn/about/versi…
预测性返回手势 - Android 13 引入了新的 API,可让您的应用告诉系统它将提前处理返回事件,我们称之为 "提前" 模型。这个新方案会需要若干年来完善,以帮助您的应用程序支持预测性返回手势,该功能现在可通过开发者选项在当前版本中进行测试。请访问官方文档了解详细信息: developer.android.google.cn/guide/navig…
-
让系统返回操作回归本源
io.google/2022/progra…
3.2 大屏幕
Android 13 进一步拓展了我们今年早些时候发布的 Android 12L 功能更新,在平板电脑上提供了更好的体验。我们强化了一些功能,包括针对多任务操作改进过的任务栏,更多针对大屏幕的布局,以及针对系统界面和应用进行了许多优化,应用兼容模式也得到了改进,等等。我们将继续投入资源为您打造工具,帮助您为平板电脑、Chromebook 和可折叠设备构建优良的体验。您可以通过大屏幕使用入门开始上手,也请务必浏览我们准备的大屏幕开发者资源。
- 大屏幕使用入门
developer.android.google.cn/guide/topic… - 适用于大屏幕设备开发的响应式布局
developer.android.google.cn/large-scree…
3.3 隐私和安全
照片选择器和 API - 全新的系统照片选择器为用户分享本地和云端照片提供了标准且私密的方式。照片选择器针对 Android 上长期使用的文档选择器进行了扩展,使用户可以很容易地与应用分享特定的照片和视频,而无需授权应用查看设备上的所有媒体文件。照片选择器为照片和视频提供了专门的体验,并提供了供应用访问共享媒体文件的 API。Android 11 及以上系统设备 (Go 设备除外) 的用户会通过 Google Play 系统更新获得照片选择器功能。请访问官方文档了解详细信息: developer.android.google.cn/training/da…
通知权限 - 为了帮助用户专注于对他们最重要的通知,Android 13 引入了一个新的通知运行时权限。现在应用需要在发送通知之前向用户申请通知权限。对于以 Android 12 或更低版本为目标平台的应用,系统将代您处理升级流程。请访问官方文档了解详细信息: developer.android.google.cn/guide/topic…
- POST_NOTIFICATIONS developer.android.google.cn/reference/a…
针对附近 Wi-Fi 设备的权限 - Android 13 为管理设备与周围 Wi-Fi 热点连接的应用引入了新的 NEARBY_WIFI_DEVICES 运行时权限。许多常用的 Wi-Fi API 都需要这个新权限,从而让应用在不需要获得定位权限的情况下即可通过 Wi-Fi 发现并连接到附近的设备。请访问官方文档了解详细信息: developer.android.google.cn/guide/topic…
- NEARBY_WIFI_DEVICES developer.android.google.cn/reference/a…
细化的媒体权限 - 在分享照片和视频时,照片选择器现在是我们推荐的解决方案,它更加用户友好,且无需请求权限。但对于尚未使用照片选择器的应用,或者需要访问音频文件的场景,Android 13 也增加了新的更细化的媒体权限。这些媒体权限用以取代 READ_EXTERNAL_STORAGE 权限,让应用得以访问特定的媒体文件类型,包括图片、视频和音频。我们强烈建议您在条件允许时使用照片选择器方案,当应用以 Android 13 为目标平台且不适合使用该方案时,则推荐使用细化的媒体权限。请访问官方文档了解详细信息: developer.android.google.cn/about/versi…
-
READ_EXTERNAL_STORAGE developer.android.google.cn/reference/a…
开发者可降级权限 - 从 Android 13 开始,如果应用不再需要某些之前由用户授予过的权限,可以通过新的 API 来降级权限。通过移除不再使用的权限,您的应用可以向用户表明其只使用了必需的最少权限,从而提高用户信任度。请访问官方文档了解详细信息: developer.android.google.cn/about/versi…
- revokeOwnPermissionsOnKill developer.android.google.cn/reference/a…
更安全的导出 Intent 过滤器 - 在向以 Android 13 为目标平台的其他应用的导出 intent 过滤器发送显式 intent 时,Android 13 给出了更严格的规则。如果 intent 指定了动作,则系统只在该 intent 与接收应用中声明的 元素匹配时才会向导出组件传递 intent。请访问官方文档了解详细信息: developer.android.google.cn/about/versi…
3.4 应用性能
Android 13 通过对 ART 运行时的更新,提高了所有应用的性能和效率。我们正在为 Android 12 及以上设备更新 ART 模块,作为此项更新的一环,我们也会通过 Google Play 系统更新将这些性能改进带给更多的 Android 用户。
垃圾回收改进 - 一个基于 Linux 内核功能 userfaultfd 的新垃圾回收器会随着即将到来的 Google Play 系统更新加入 Android 13 设备的 ART。新的垃圾回收器消除了读取障碍,降低了每个对象加载的开销,减少了内存压力,使得编译后的代码体积能减少约 10%。它在 GC 时间也更高效,因为分页会随着压缩的进行而被释放。总而言之,新的垃圾回收器有助于节省电量,避免在 GC 过程中出现卡顿,以及让应用免于在低内存时被强行终止。
遍及整个 ART 的优化 - 在 Android 13 中,ART 让切换到本地代码的速度更快,反之亦然,现在 JNI 调用的速度可达之前的 2.5 倍。我们还重新设计了运行时的引用处理,使其基本处于非阻塞状态,这进一步减少了卡顿。我们公开了一个新的公共 API,Reference.refersTo(),让您可以尽快回收无法抵达的对象,我们还优化了类/方法的查找,从而让解释器的运行更快。最后,ART 现在在安装时会执行更多的字节码验证,避免了在运行时验证的损耗,从而让应用能快速启动。请观看应用性能更新介绍了解详细信息: io.google/2022/progra…
- Reference.refersTo() developer.android.google.cn/reference/j…
四、获取Android 13
随着Android 13 正式发布至 AOSP,我们要求所有的 Android 开发者完成兼容性测试,并尽快发布更新,从而让您的用户能顺利过渡至 Android 13。
目前,官方首批支持的设备如下:
- Pixel 4 和 Pixel 4 XL
- Pixel 4a 和 Pixel 4a (5G)
- Pixel 5 和 Pixel 5a
- Pixel 6 和 Pixel 6 Pro
对于这些受支持的 Google Pixel 设备上,只需要在适用于 Pixel 的 Android Beta 版计划中注册您的设备即可。注册是一个简单快捷的过程,强烈建议尝鲜者和开发者进行注册。在大多数情况下,改用 Android 13 版不需要重置所有数据,但建议您在注册设备前备份数据。注册后,除非您提前选择退出,否则您的设备便会在平台发布周期内收到定期的无线下载 (OTA) 更新,包括每季度平台版本 (QPR)。
当然,对于我们开发者来说,想要体验Android 13的新特性,最简单的方式还是模拟器,我们只需要按照如下的步骤设置Android 13模拟器即可。
-
在 Android Studio 中,依次点击 Tools > SDK Manager。
-
在 SDK Tools 标签页中,选择最新版 Android 模拟器,然后点击 OK。如果尚未安装最新版本,则此操作会安装最新版本。
-
在 Android Studio 中,依次点击 Tools > AVD Manager,然后按照说明创建新的 Android 虚拟设备 (AVD)。
请务必为受支持的 Pixel 设备选择设备定义以及 64 位 Android 13 模拟器系统映像。如果您尚未安装与您的设备定义匹配的 Android 13 系统映像,请点击 Release Name 旁边的 Download 获取该映像。
-
返回 AVD 管理器中的虚拟设备列表,然后双击您的 Android 13 虚拟设备以将其启动。