本页总结了 Android 13 和 Android 13 QPR 版本中的主要功能,并提供指向其他信息的链接。这些功能摘要根据功能在本网站上的文档位置进行组织。
架构
通用启动分区变更
对于搭载 Android 13 推出的设备,通用 ramdisk 已从 boot
映像中移除,并放置在单独的 init_boot
映像中。
如需了解详情,请参阅通用启动分区。
GKI 模块
在 Android 13 中,某些内核功能以动态可加载模块(称为 GKI 模块)的形式交付,以减少不需要该功能的设备上的 GKI 内核内存占用空间。
如需了解更多信息,请参阅内核模块。
模块化系统组件
Android 13 包含多个新的和更新的模块化系统组件。新模块包括
- AdServices: 支持 Privacy Sandbox 计划,该计划旨在创建既能在线保护用户隐私,又能为公司和开发者提供构建蓬勃发展的数字业务的工具的技术
- AppSearch: 一种设备端索引和结构化搜索引擎
- Bluetooth: (可选)旨在为所有 Android 用户提供一致、高质量的蓝牙体验
- OnDevicePersonalization: 提供一套以用户隐私为核心原则开发的工具
- UWB: 包含 HAL 接口之上的 UWB 堆栈
现有模块的更新
- CrossDevice: 使用标准协议提供跨设备通信技术
- 权限统一: 有关统一权限的信息
- 拆分隧道: 指定要从 VPN 中排除的路由
- Wi-Fi 模块边界更新: 已更新的模块边界
更新到 Android 内核文件系统支持
从 Android 13 开始,用户空间仅适用于构建到通用内核映像 (GKI) 中的文件系统。
如需了解更多详情,请参阅Android 内核文件系统支持。
音频
空间音频和头部追踪的实现
从 Android 13-QPR 开始,使用新的音频管道架构和传感器框架集成,OEM 可以提供空间音频器音频效果,并支持头部追踪,同时保持所需的性能和延迟水平。有关指南和更多信息,请参阅高质量空间音频和头部追踪的实现。
支持 MIDI 2.0
从 Android 13 开始,MIDI 2.0 支持已添加到 USB 传输。MIDI 2.0 是 2020 年定义的较新的 MIDI 标准。
如需了解更多详情,请参阅 MIDI 页面。
更新到音频 HAL
从 Android 13 开始,音频 HAL 已更新到版本 7.1。如需了解更多信息,请参阅音频 HAL。
汽车
新的 Android Automotive 功能
要了解有关 Android 13 中新的 Automotive 功能的更多信息,请参阅 新增功能。
构建
使用 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 及更低版本中,框架仅允许打开或关闭手电筒模式。此功能支持多种用例,例如根据照明条件控制手电筒的亮度,以及通过连续发送快速光脉冲来使用频闪效果发送求助信号。
如需了解更多信息,请参阅手电筒强度控制。
10 位相机输出
Android 13 通过动态范围配置文件添加了对 10 位相机输出的支持,相机客户端可以将这些配置文件配置为流配置的一部分。这使设备制造商可以添加对 10 位动态范围配置文件(如 HLG10、HDR 10、HDR 10+ 和 Dolby Vision)的支持。
如需了解更多信息,请参阅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 允许用户选择默认帐号。预加载的联系人应用必须保存所选的默认帐号,并且在处理 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
:- 支持框架需要在拆除 IMS PDN 之前等待 SIP 会话完成的情况。
- 添加了
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) 身份验证方法的支持,该方法允许用户通过安装服务器使用的根 CA 并在已保存的网络中设置其域名来信任企业 (EAP) 网络。TOFU 允许设备在用户首次连接到企业网络时获取未经身份验证的公钥,并在后续连接中保留该密钥。
如需了解更多信息,请参阅首次使用信任。
超宽带支持
Android 13 引入了超宽带 (UWB) 无线电技术的默认框架实现,该技术支持受支持设备之间高度安全、精确的测距。
如需了解更多信息,请参阅超宽带。
Wi-Fi AP/AP 并发更新
Android 13 为 Wi-Fi AP/AP 并发添加了对 6 GHz 频段的支持,这使设备可以创建两个接入点 (AP) 接口。
如需了解更多信息,请参阅Wi-Fi AP/AP 并发。
Wi-Fi Aware
Android 13 引入了对 Wi-Fi Aware 规范 3.1 版的支持。如需了解更多信息,请参阅 Wi-Fi Aware。
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 中,一种名为任务管理器的新的系统界面功能会通知用户后台应用上的前台服务正在使用的状态和资源,并使用户能够停止这些应用。
如需了解更多信息,请参阅任务管理器。
系统界面中的媒体控件
从 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 开始,硬件合成器 (HWC) HAL 在 AIDL 中定义,并且从 android.hardware.graphics.composer@2.1
到 android.hardware.graphics.composer@2.4
的 HIDL 版本已弃用。
如需了解更多信息,请参阅硬件合成器 HAL 的 AIDL。
客户端帧缓冲区管理
从 Android 13 开始,每当显示分辨率更改时,都会分配在客户端合成期间使用的新帧缓冲区。此分配由 SurfaceFlinger 在分辨率更改后的下一个 *invalidate* 周期执行。
如需了解更多信息,请参阅客户端帧缓冲区管理。
每秒帧数 (FPS) 限制干预
从 Android 13-QPR 开始,FPS 限制干预使游戏能够仅使用平台侧更改以适当的 FPS 运行,而无需开发人员采取任何操作。有关更多信息,请参阅 FPS 限制干预。
使用 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 驱动程序能够在执行之间保留资源并应用特定于请求的优化,从而减少了机器学习推理任务的开销。
传感器 AIDL HAL
Android 13 引入了 传感器 AIDL HAL,这是一种基于传感器 HAL 2.1 的 HAL,它使用 AIDL HAL 接口。传感器 AIDL HAL 公开了头部追踪器和有限轴 IMU 传感器类型。
媒体
导出视频编码统计信息
从 Android 13 开始,应用客户端可以请求视频编码器导出每个编码视频帧的编码统计信息。借助从视频编码器获得的统计信息,应用可以优化其视频编码任务,例如多通道编码和编码之前的帧预处理。
如需了解更多信息,请参阅视频编码统计数据。
性能
健康 AIDL HAL
Android 13 引入了 健康 AIDL HAL,这是一种基于健康 HAL 2.1 的 HAL,它使用 AIDL HAL 接口。
游戏加载时的性能提升
Android 13 在电源管理器服务中引入了一种新的电源模式,名为 GAME_LOADING
,它向电源 HAL 指示游戏应用是否处于加载状态,以便电源 HAL 可以提供加载提升。有关更多信息,请参阅 游戏加载时的性能提升。
权限
身体传感器权限拆分
从 Android 13 开始,BODY_SENSORS
权限被拆分为两个权限:BODY_SENSORS
用于在前台跟踪心率,BODY_SENSORS_BACKGROUND
用于在后台跟踪心率。
如需了解更多信息,请参阅在后台使用身体传感器需要新权限
电源
应用后台行为跟踪器
Android 13 引入了应用后台行为跟踪器或进程的概念,该跟踪器或进程监控应用的后台电池用量,以确定应用是否违反某些政策。
如需了解更多信息,请参阅应用后台行为跟踪器。
缓解备份和恢复期间的功耗
从 Android 13 开始,您可以通过调用 UsbPort
类的 enableLimitPowerTransfer
方法来限制 USB 备份和恢复期间的功率传输。
如需了解更多信息,请参阅电源管理。
安全
身份凭据
Android 13 添加了多文档演示支持。这个新的演示会话接口使应用程序能够执行多文档演示,这是现有 API 无法实现的。
如需了解更多信息,请参阅身份凭据
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
- 来自 root 的 Intent
OMAPI 供应商稳定接口
开放移动 API (OMAPI) 是一种标准 API,用于与设备的 Secure Element 通信。在 Android 13 之前,只有应用程序和框架模块才能访问此接口。通过将其转换为供应商稳定接口,HAL 模块也能够通过 OMAPI 服务与安全元件通信。
如需了解更多信息,请参阅OMAPI 供应商稳定接口。
共享 UID 已弃用
从 Android 13-QPR 开始,共享 UID 已弃用。Android 13 或更高版本的用户应在其清单中添加 android:sharedUserMaxSdkVersion="32"
行。此条目可防止新用户获取共享 UID。有关 UID 的更多信息,请参阅 应用签名。
设置
按应用语言设置
Android 13 添加了允许用户按应用更改语言首选项的功能。合作伙伴和 OEM 不应禁用应用语言选择页面,并且应可以通过以下三个导航选项访问该页面
- 设置 > 应用 > 应用名称,然后选择语言。
- 长按应用图标,点按应用信息,然后选择语言。
- 设置 > 系统 > 语言和输入法 > 应用语言 > 应用名称.
“设置”应用必须继续从 android.settings.App_Locale_Settings
Intent 启动应用区域设置页面。
如需了解更多信息,请参阅按应用语言设置。
电视
多媒体隧道模式
Android 13 扩展了隧道视频播放的定义行为,并将新行为与额外的 CTS 认证测试联系起来。
如需了解更多信息,请参阅多媒体隧道。
更新
Virtual A/B 更新
Android 13 为 Virtual A/B 更新添加了 XOR 压缩和用户空间合并功能。XOR 压缩允许减小快照大小,因为 XOR 数据比原始块数据更容易压缩。用户空间合并功能允许 snapuserd
用户空间组件处理 Virtual A/B 更新的合并过程,与使用 dm-snapshot
设备的 Android 12 相比,这减少了合并时间。
有关如何在升级到 Android Android 13 的设备上启用这些功能的详细信息,请参阅 XOR 压缩和 用户空间合并。
虚拟化
Android 虚拟化框架
Android 虚拟化框架 (AVF) 为执行代码提供安全和私有的执行环境。AVF 非常适合面向安全的用例,这些用例需要比 Android 应用沙盒提供的隔离保证更强甚至经过正式验证的隔离保证。
如需了解更多信息,请参阅Android 虚拟化框架概述。