本文总结了 Android 13 版本中的主要功能,并提供了其他信息的链接。根据各个功能的介绍文档在本网站上的位置,整理了以下功能摘要。
架构
对通用启动分区的更改
对于发布时搭载 Android 13 的设备,通用 ramdisk 将从 boot
映像中移除,并放置在单独的 init_boot
映像中。
如需了解详情,请参阅通用 boot 分区。
GKI 模块
在 Android 13 中,一些内核功能在动态可加载模块(称为 GKI 模块)中提供,以减少不需要该功能的设备中的 GKI 内核内存占用。
如需了解详情,请参阅内核模块。
模块化系统组件
如需了解新的和更新后的模块化系统组件,请参阅 Android 13 中的更新
对 Android 内核文件系统支持的更新
从 Android 13 开始,用户空间仅适用于内置到通用内核映像 (GKI) 的文件系统。
如需了解详情,请参阅 Android 内核文件系统支持。
音频
对 MIDI 2.0 的支持
从 Android 13 开始,USB 传输添加了对 MIDI 2.0 的支持。MIDI 2.0 是 2020 年定义的较新的 MIDI 标准。
如需了解详情,请参阅 MIDI 页面。
音频 HAL 更新
从 Android 13 开始,音频 HAL 已更新至 7.1 版。如需了解详情,请参阅音频 HAL。
Automotive
新的 Android Automotive 功能
如需详细了解 Android 13 中新增的 Automotive 功能,请参阅新变化。
build
使用 Bazel 构建
Android 13 引入了使用 Bazel 构建内核的功能,以取代 build/build.sh
。
如需了解详情,请参阅 Bazel (Kleaf)。
相机
AIDL 相机 HAL
在 Android 13 中,该相机框架包含对 AIDL 相机 HAL 的支持。该相机框架还支持 HIDL 相机 HAL,不过,在 Android 13 或更高版本中添加的相机功能只能通过 AIDL 相机 HAL 接口使用。
如需了解如何将 HAL 进程从 HIDL 相机接口迁移到 AIDL 相机接口,请参阅 AIDL 相机 HAL。
相机调试更新
Android 13 在相机服务中添加了 watch
调试工具,可让您查看发送到相机 HAL 以及从相机 HAL 发送的拍摄请求和结果值的变化。借助该工具,您可以实时预览来自打开的客户端的代码监控转储以及查看来自关闭的客户端的缓存转储。
如需了解详情,请参阅相机调试。
相机预览防抖
Android 13 对相机捕获会话中的预览流添加了视频防抖支持。借助此功能,第三方应用可以在相机预览和录制内容之间提供所见即所得 (WYSIWYG) 体验。
如需了解详情,请参阅相机预览防抖。
手电筒强度控制
Android 13 引入了一项针对手电筒强度进行多级控制的功能。在 Android 12 及更低版本中,Android 框架仅允许开启或关闭手电筒模式。此功能可实现一些用例,例如根据光照条件控制手电筒的亮度,以及利用频闪效果连续发送快速闪动的光束以发送求救信号。
如需了解详情,请参阅手电筒强度控制。
10 位相机输出
Android 13 添加了对通过动态范围配置文件进行 10 位相机输出的支持,相机客户端可在输出流配置过程中配置该配置文件。这样,设备制造商就可以添加对 HLG10、HDR 10、HDR 10+ 和杜比视界等 10 位动态范围配置文件的支持。
如需了解详情,请参阅 10 位相机输出。
为了鼓励在第三方应用(例如社交媒体应用)上采用 10 位相机输出机制,以便提升视频拍摄和视频分享体验,请务必有效地验证此功能的实现情况。想要采用此功能的第三方应用可能从强制配置文件 HLG10
开始。如需了解详情,请参阅验证。
兼容性
相机 ITS 更新
Android 13 引入了对相机 ITS 的更改,其中包括对视频测试、更新后的 Python 和软件包版本以及测试硬件更新的支持。
如需了解详情,请参阅 Android 13 相机图像测试套件版本说明。
CDD 更新
Android 13 兼容性定义文档是在之前版本的基础上编写的,并进行了一些更新,更新中涵盖了新功能以及对之前已发布功能的要求进行的更改。
如需查看 Android 13 中的变更列表,请参阅 Android 13 兼容性定义版本说明。
新联系人的默认帐号
预加载的“通讯录”应用必须处理 ContactsContract.Settings.ACTION_SET_DEFAULT_ACCOUNT
intent,以便让用户选择默认帐号。预加载的“通讯录”应用必须保存所选默认帐号,并且必须在处理 Intent.ACTION_INSERT
或 Intent.ACTION_INSERT_OR_EDIT
时使用默认帐号插入联系人。此要求可确保与联系人交互的所有应用保持一致。
如需了解详情,请参阅 Android 13 CDD 的“联系人”部分。
网络连接
“允许启用 2G”切换开关
在 Android 13 中,当 KEY_HIDE_ENABLE_2G
运营商配置键设为 true
时,“设置”中的允许启用 2G 切换开关处于灰显状态(也就是说,用户无法与该按钮互动)。此外,当处于灰显状态时,允许启用 2G 切换开关包含的文本会指出用户的运营商需要启用 2G。在以前的版本中,当 KEY_HIDE_ENABLE_2G
设置为 true
时,允许启用 2G 切换开关处于隐藏状态。
移动网络使用情况设置
Android 13 支持移动网络使用情况设置,可让运营商将设备配置为以语音为中心或以数据为中心的模式。对于传统上在纯数据模式下运行的以语音为中心的设备(例如,对于包含配套纯数据服务的服务),运营商可以将此设置与其他配置更改结合使用,以减少其网络上的 IMS 流量。
如需修改移动网络使用情况设置,请使用 config_supported_cellular_usage_settings
叠加层或在 config_default_cellular_usage_setting
中设置默认值。该设置可以是 USAGE_SETTING_VOICE_CENTRIC
或 USAGE_SETTING_DATA_CENTRIC
。
移动网络使用情况设置功能包含以下 API:
CarrierConfigManager#KEY_CELLULAR_USAGE_SETTING_INT
,用于指定使用情况设置。SubscriptionInfo#getUsageSetting()
,用于查询使用情况设置。
如需验证移动网络使用情况设置功能,请运行以下测试:
- CTS:
SubscriptionManagerTest#testCellularUsageSetting
- VTS:
RadioNetworkTest#testSetUsageSetting_InvalidValues
具有互联网连接的多个并发网络
Android 13 引入了“具有互联网连接的多个并发网络”功能,可允许设备并发连接到两个 Wi-Fi 网络 (AP),这两个网络不受限制(所有应用均可访问)并提供互联网访问。
如需了解详情,请参阅 Wi-Fi STA/STA 并发。
IMS API 更新
Android 13 引入了对 IMS 单注册模式 API 的以下更新:
DelegateRegistrationState
:- 支持框架需要等待 SIP 会话完成后才能拆解 IMS PDN 的情况。
- 添加了
getRegisteringFeatureTags
方法,可让监听应用了解 IMS 堆栈何时正在主动尝试注册 IMS。
RcsUceAdapter
:添加了PUBLISH_STATE_PUBLISHING
,以便监听应用了解 IMS 堆栈何时正在主动发布功能CapabilityExchangeEventListener
:添加了onPublishUpdated
方法,以允许 IMS 服务异步通知平台 SIP PUBLISH 刷新成功或失败。RcsClientConfiguration
:- 为了支持 RCC.72 第 2.1.14 部分,向构造函数添加一个新值,以允许即时通讯应用指定用户是启用了还是停用了 RCS。
- 添加了
RCS_PROFILE_2_4
常量,以允许即时通讯应用报告其支持 RCS 通用配置文件版本 2.4。
Android 13 还包含针对 IMS API 的以下更新:
- 添加了让应用能够通过
ImsStateCallback
类监听 IMS 堆栈状态的功能。如需了解详情,请参阅使用 ImsStateCallback。 - 重构了 IMS 服务的 IMS 配置,以支持 MVNO 配置用例。
- 改进了 IMS 服务中的线程模型。
- 在 IMS 服务中添加了 SIM 卡订阅感知型 API
为 eUICC 提供多个已启用的配置文件
Android 13 引入了为 eUICC 提供多个已启用的配置文件 (MEP) 的支持,从而使设备能够使用单个 eSIM 卡芯片提供双 SIM 卡支持。借助多 SIM 卡配置文件,设备可以同时连接到两个不同的运营商。
如需了解详情,请参阅多个已启用的配置文件。
在线状态校准要求
Android 13 引入了新的在线状态校准要求,以确保 Android 生态系统中的所有设备都可以确定设备之间的相对距离。
如需详细了解如何设置和校准设备以满足这些要求,请参阅在线状态校准要求。
用于时区检测的电话回退模式
Android 13 引入了用于时区检测的电话回退模式。在该模式下,如果位置信息检测无法检测时区,或者位置信息检测要用比电话检测更长的时间检测时区,那么 Android 可以暂时使用电话检测建议。
如需了解详情,请参阅 time_zone_detector 服务。
TelephonyManager UICC 访问 API 方面的改进
Android 13 恢复了对以下 TelephonyManager UICC 访问 API 的使用,并添加了 UICC 逻辑通道管理方面的改进:
iccOpenLogicalChannel(String AID, int p2)
iccCloseLogicalChannel(int channel)
iccTransmitApduBasicChannel(int cla, int instruction, int p2, int p3, String data)
iccTransmitApduLogicalChannel(int channel, int cla, int instruction, int p1, int p2, int p3, String data)
iccExchangeSimIO(int fileID, int command, int p1, int p2, int p3, String filePath)
sendEnvelopeWithStatus(String content)
这些 API 在 Android 11 中已废弃,因为 OMAPI 为管理 UICC 逻辑通道提供了更可靠的实现。但是,OMAPI 并不涵盖 TelephonyManager UICC 访问 API 提供的所有用例。因此,在 Android 13 中,恢复了对这些 API 的使用,并添加了 UICC 逻辑通道管理方面的改进。以前,当打开逻辑通道的调用应用发生崩溃时,逻辑通道可能会泄漏,这意味着该通道不会被释放,无法供该应用在不重新启动的情况下重复使用。我们对 Android 13 进行改进之后,如果应用发生崩溃,系统会释放逻辑通道,以便其可供该应用重复使用。
这些 API 方面的改进在实现级别完成,并且完全向后兼容。无需执行额外的操作即可调用应用以使用这些 API。
针对企业网络引入了首次使用时信任 (TOFU)
Android 13 引入了对首次使用时信任 (TOFU) 身份验证方法的支持,让用户能够信任企业 (EAP) 网络,方法是安装服务器使用的根 CA 并在已保存的网络中设置其域名。借助 TOFU,设备可以在用户首次连接到某个企业网络时获取未经身份验证的公钥,并保留该公钥以在后续连接时使用。
如需了解详情,请参阅首次使用时信任。
超宽带支持
Android 13 引入了适用于超宽带 (UWB) 无线电技术的默认框架实现,该技术可在受支持的设备之间实现高度安全的精密测距。
如需了解详情,请参阅超宽带。
Wi-Fi AP/AP 并发更新
Android 13 添加了对 6 GHz 频段的 Wi-Fi AP/AP 并发的支持,这使得设备可以创建两个接入点 (AP) 接口。
如需了解详情,请参阅 Wi-Fi AP/AP 并发。
Wi-Fi 感知
Android 13 引入了对 3.1 版 Wi-Fi 感知规范的支持。如需了解详情,请参阅 Wi-Fi 感知。
Wi-Fi 热点(软 AP)网络共享更新
Android 13 为支持通过 Wi-Fi 热点共享网络的设备引入了新配置。如需详细了解新配置,请参阅 Wi-Fi 热点(软 AP)。
Wi-Fi 多接口并发
从 Android 13 开始,Wi-Fi HAL 1.6 添加了将桥接 AP 接口(双频同步)指定为显式组合项的功能。
如需了解详情,请参阅 Wi-Fi 多接口并发。
Wi-Fi 网络选择更新
从 Android 13 开始,如果在运行时需要不同的扫描间隔,特权应用可以通过调用 WifiManager#setScreenOnScanSchedule(screenOnScanSchedule)
方法为可用的 Wi-Fi 网络动态设置屏幕扫描时间表。
如需了解详情,请参阅 Wi-Fi 网络选择。
显示
前端任务管理器
在 Android 13 中,一项新的系统界面选项(称为 FGS 任务管理器)会通知用户后台应用的前台服务所使用的状态和资源,并且可让用户停止这些应用。
如需了解详情,请参阅前台服务 (FGS)。
系统界面中的媒体控件
从 Android 13 开始,系统界面中的媒体控件包含对操作按钮和远程播放的更新。这些更改支持在手机和平板电脑上实现更精细的媒体控制体验,并提供跨设备的无缝媒体转接。
如需了解详情,请参阅系统界面中的媒体控件。
SDR 和 HDR 组合
Android 13 通过在与 HDR 内容同时呈现时,调暗屏幕上的 SDR 内容,改进了对在屏幕上同时呈现 SDR 和 HDR 组合的支持。
如需了解详情,请参阅混合 SDR 和 HDR 组合。
“选择启用”通知的通知权限
从 Android 13 开始,通知使用“选择启用”模式,在该模式中,所有应用必须先向用户请求权限,然后才能发送通知提示。为了支持这一点,OEM 必须在通知和运行时权限系统中实现更改,如“选择启用”通知的通知权限页面中所述。
将 HDR 亮度色调映射到 SDR 兼容的范围
Android 13 中引入了一个名为 libtonemap
的供应商可配置静态库,用于定义色调映射操作。借助此功能,OEM 可以在框架和供应商之间定义和共享其屏幕色调映射算法,从而减少色调映射中的不匹配问题。
如需了解详情,请参阅将 HDR 亮度色调映射到 SDR 兼容的范围。
图形
适用于硬件混合渲染器 HAL 的 AIDL
从 Android 13 起,我们开始使用 AIDL 定义硬件混合渲染器 (HWC),还废弃了 HIDL 版本 android.hardware.graphics.composer@2.1
到 android.hardware.graphics.composer@2.4
。
如需了解详情,请参阅适用于硬件混合渲染器 HAL 的 AIDL。
客户端帧缓冲区管理
从 Android 13 开始,每当屏幕分辨率发生变化时,系统都会分配在客户端合成期间使用的新的帧缓冲区。分辨率变化后,SurfaceFlinger 会对下一个“失效”周期执行此分配。
如需了解详情,请参阅客户端帧缓冲区管理。
使用 AutoSingleLayer 进行无信号缓冲区锁存
Android 13 添加了一项名为 AutoSingleLayer
的新配置,用于锁存无信号的缓冲区。此配置可让 SurfaceFlinger 在仅有单个层更新时锁存无信号的缓冲区,但不适用于跨层发生的情况,例如几何图形变化或同步事务。
如需了解详情,请参阅使用 AutoSingleLayer 进行无信号缓冲区锁存。
互动
针对家居控制的身份验证
在 Android 13 中,设备控制器 API 包含一个名为 isAuthRequired
的新方法,该方法可让设备控制器提供程序指定哪些家居控件可以在锁定的设备上执行互动。这样可以在入口点(例如锁定的手机屏幕)上实现更顺畅的互动。
头部跟踪器 HID 协议
Android 13 引入了头部跟踪器人机接口设备 (HID) 协议,借助该协议,头部跟踪设备可通过 USB 或蓝牙连接到相应 Android 设备,并通过传感器框架提供给 Android 框架和应用。
如需了解详情,请参阅头部跟踪器 HID 协议。
KeyguardManager 中支持锁定回调信号
Android 13 中的一些新方法(例如 KeyguardManager
类中的 addKeyguardLockedStateListener
和 removeKeyguardLockedStateListener
)会通知监听器有关键盘锁的锁定状态。
NNAPI 可重复使用的执行对象
Android 13 引入了 NNAPI AIDL HAL 接口 IExecution
,用于管理可重复使用的执行对象及其缓存资源的生命周期。IExecution
对象通过启用 NNAPI 驱动程序在执行之间保留资源并应用特定于请求的优化,从而降低机器学习推断任务的开销。
Sensors AIDL HAL
Android 13 引入了 Sensors AIDL HAL(基于 Sensors HAL 2.1),它使用 AIDL HAL 接口,并公开了头部跟踪器和受限轴 IMU 传感器类型。
媒体
导出视频编码统计信息
从 Android 13 开始,应用客户端可以向视频编码器提出请求,要求导出每个已编码视频帧的编码统计信息。利用从视频编码器获取的统计信息,应用可以在编码之前优化其视频编码任务,例如多通路编码和帧预处理。
如需了解详情,请参阅视频编码统计数据。
性能
Health AIDL HAL
Android 13 引入了 Health AIDL HAL(基于 Health HAL 2.1),它使用 AIDL HAL 接口。
游戏加载时性能提升
Android 13 在电源管理器服务中引入了一个名为 GAME_LOADING
的新电源模式,用于向 Power HAL 指明游戏应用是否处于加载状态,以便 Power HAL 可以提供加载速度提升。如需了解详情,请参阅游戏加载时的性能提升。
权限
身体传感器权限拆分
从 Android 13 开始,BODY_SENSORS
权限被拆分为两项权限:BODY_SENSORS
用于在前台跟踪心率,BODY_SENSORS_BACKGROUND
用于在后台跟踪心率。
如需了解详情,请参阅在后台使用身体传感器需要新的权限
电源
应用后台行为跟踪器
Android 13 引入了应用后台行为跟踪器或一个进程的概念,该进程用于监控应用后台电池用量以确定应用是否违反某些政策。
如需了解详情,请参阅应用后台行为跟踪器。
减少备份和恢复期间的耗电量
从 Android 13 开始,您可以通过调用 UsbPort
类的 enableLimitPowerTransfer
方法来限制 USB 备份和恢复期间的电力传输。
如需了解详情,请参阅电源管理。
安全
APK 签名方案 V3.1
在使用轮替签名密钥和签名谱系为 APK 签名时,系统会默认使用此方案。此方案允许单个 APK 以 Android 13 及更高版本为轮替目标,同时避免在使用 v3.0 签名块中的原始签名密钥在先前的平台版本上轮替时的已知问题。同样,v4.1 签名将包含 v3.1 分块的额外签名信息,以支持相同的增量安装行为。
intent 应与声明的 intent 过滤器匹配
在 Android 13 中,当且仅当 intent 与其声明的 intent 过滤器元素匹配时,源自外部应用的 intent 才会传送到导出组件。
不匹配的 intent 会被屏蔽。不强制要求匹配 intent 的例外情况如下:
- 传送到未声明任何 intent 过滤器的组件中的 intent
- 源自同一应用内的 intent
- 来自系统的 intent
- 来自根的 intent
OMAPI 供应商稳定版接口
Open Mobile API (OMAPI) 是一种标准 API,用于与设备的安全元件进行通信。在 Android 13 之前,只有应用和框架模块可以访问此接口。通过将其转换为供应商稳定版接口,HAL 模块还能够通过 OMAPI 服务与安全元件进行通信。
如需了解详情,请参阅 OMAPI 供应商稳定版接口。
设置
按应用来设定语言设置
Android 13 添加了相关功能,可让用户按应用更改语言偏好设置。合作伙伴和 OEM 不应停用应用语言选择页面,并且可以通过以下三种导航选项访问该页面:
- 设置 > 应用 > app_name,然后选择语言。
- 长按应用图标,点按应用信息,然后选择语言。
- 设置 > 系统 > 语言和输入法 > 应用语言 > app_name。
“设置”应用必须继续从 android.settings.App_Locale_Settings
intent 启动应用语言区域设置页面。
如需了解详情,请参阅按应用来设定语言设置。
TV
多媒体隧道模式
Android 13 扩展了隧道式视频播放的既定行为,并将这种新行为与其他 CTS 认证测试相关联。
如需了解详情,请参阅多媒体隧道。
更新
虚拟 A/B 更新
Android 13 为虚拟 A/B 更新添加了 XOR 压缩和用户空间合并功能。XOR 压缩可以减小快照大小,因为 XOR 数据比原始块数据更容易压缩。通过用户空间合并功能,snapuserd
用户空间组件可以处理虚拟 A/B 更新的合并过程,与使用 dm-snapshot
设备的 Android 12 相比,这样可以缩短合并时间。
如需详细了解如何在升级到 Android 13 的设备上启用这些功能,请参阅 XOR 压缩和用户空间合并。
虚拟化
Android 虚拟化框架
Android 虚拟化框架 (AVF) 提供安全且私密的执行环境来执行代码。AVF 非常适合以安全为导向的用例,这些用例需要比 Android 应用沙盒提供的安全系数更高、甚至经过正式验证的隔离保证。
如需了解详情,请参阅 Android 虚拟化框架概览。