本页总结了 Android 16、Android 16 QPR1 和 Android 16 QPR2 版本中的主要功能,并提供了其他信息的链接。这些功能摘要是根据此网站上功能文档的位置进行整理的。
音频
可配置音频政策支持
借助 HIDL HAL,Android 供应商可以使用另一种方法来指定音频路由规则,这种方法称为可配置音频政策 (CAP),比用于手机的默认引擎更灵活。在迁移到 AIDL HAL 时,由于资源不足,Android 14 和 15 中未实现对 CAP 的支持。我们在 Android 16 中修复了此问题,方法是提供缺少的 AIDL 定义,并更改框架加载 CAP 配置的机制。如需了解详情,请参阅 AIDL HAL 中的可配置音频政策支持 。
我们转换了 Cuttlefish Auto 目标,以利用 CAP AIDL 实现来帮助合作伙伴迁移其产品。
架构
通用引导加载程序 (GBL)
Android 16 开始支持新的通用引导加载程序 (GBL),这是一种可更新的标准化引导加载程序,旨在简化 Android 启动过程。
如需详细了解 GBL,请参阅 通用引导加载程序 (GBL) 概览。
16 KB 页面大小
在 Android 16 中,我们针对线程本地存储 (TLS) 实现了内存优化。basename() 和 dirname() 函数的缓冲区现在与主 TLS 区域隔离,位于仅在首次使用时分配的专用内存页中。此变更可显著节省内存,尤其是在页面大小为 16 KB 的系统上,因为它在初始线程内存页中释放了大约 8 KB 的空间。此优化不仅减少了总体内存消耗,还为堆栈提供了更多空间,使其在需要新页面之前可以增长,从而有助于减少因堆栈扩展而导致的页面错误。使用 4 KB 页面大小的系统也会节省一些内存。
如需详细了解 16 KB 页面大小,请参阅 16 KB 页面大小。
兼容性
相机 ITS 更新
Android 16 包含对 相机图像测试套件 (ITS)的更新。如需了解详情,请参阅:
兼容性定义文档 (CDD)
Android 16 兼容性定义文档 (CDD) 随 Android 16 QPR2 更新一起发布。
CTS 验证程序蓝牙 MIDI 测试更新
为了简化测试程序并减少潜在错误,Android 16 允许您在没有 USB MIDI 外围设备的情况下运行 CTS-V 蓝牙 MIDI 环回测试。
如需查看此变更的专用文档,请参阅 CTS 验证程序蓝牙 MIDI 测试更新。
CTS 验证程序气压计测试更新
为了支持 Android 位置信息功能,Android 16 包含一组新的 CTS-V 气压计测量测试。
如需查看此变更的专用文档,请参阅 CTS 验证程序气压计测量测试。
CTS 验证程序多设备测试更新
为了支持 Android 连接功能,Android 16 包含一组新的 CTS-V 测试。
如需查看此变更的专用文档,请参阅 运行 CTS 验证程序多设备测试。
运行 Wi-Fi AP 连接测试
为了支持 Android Better Together 连接功能,Android 16 QPR2 包含一组新的 Wi-Fi AP 连接测试。
如需查看此变更的专用文档,请参阅 设置 Wi-Fi AP 连接测试。
连接
Android OS 标识
在 Android 16 及更高版本中,Android 框架包含一个名为 Android 信息服务 (AIS) 的通用属性 (GATT) 服务,该服务允许蓝牙设备将 Android API 级别作为服务的 GATT 特征进行读取。借助此服务,蓝牙设备制造商可以了解蓝牙外围设备是否与运行 Android 操作系统的中央设备配对,并根据 API 级别管理专用逻辑。
如需了解详情,请参阅 Android OS 标识。
紧急回拨模式
Android 16 引入了
EmergencyCallbackModeListener
系统 API,该 API 允许 IMS 模块在设备进入或退出短信或通话的紧急回拨模式时,
通过回调获取紧急回拨模式状态。设备制造商可以使用此 API 实现 IMS 注册管理,以满足运营商和 3GPP 要求。例如,如果用户设备 (UE) 处于紧急回拨模式状态,则可以将 IMS 模块设置为在一定时间内保持其紧急注册。
IMS 模块还可以根据紧急回拨模式的状态来维护、延长和取消紧急注册。
IMS 服务更新
Android 16 引入了系统 API,设备制造商和供应商可以将其用于 IMS 实现。下表列出了特权应用可用于支持 IMS 服务的 API:
| 类 | API |
|---|---|
MmTelFeature |
EpsFallbackReason |
ImsTrafficType |
|
ImsTrafficDirection |
|
modifyImsTrafficSession |
|
startImsTrafficSession |
|
stopImsTrafficSession |
|
triggerEpsFallback |
|
ImsTrafficSessionCallback |
全部 |
ConnectionFailureInfo |
全部 |
TelephonyManager |
getImsPrivateUserIdentity |
getImsPublicUserIdentities |
|
getImsPcscfAddresses |
|
getSimServiceTable |
|
ImsCallSessionListener |
callSessionTransferred |
callSessionTransferFailed |
|
callSessionSendAnbrQuery |
|
SmsMessage |
getRecipientAddress |
测距模块
Android 16 引入了测距模块,该模块汇总了用于测距技术的 API,包括超宽带、蓝牙通道探测、蓝牙 RSSI 测距和 Wi-Fi 往返时间 (RTT)。如需了解详情,请参阅:
Wi-Fi 热点更新
Android 16 引入了 SoftApCallback#onClientsDisconnected 方法,用于获取 Wi-Fi 热点(软 AP)的断开连接的客户端列表以及每个客户端的断开连接原因。借助此功能,汽车原始设备制造商 (OEM) 可以满足投影应用所需的规范,从而增强 Android Wi-Fi 堆栈的可配置性和功能。
如需使用
SoftApCallback#onClientsDisconnected
方法,请注册回调,以使用
WifiManager#registerSoftApCallback(对于网络共享热点)或
WifiManager#registerLocalOnlyHotspotSoftApCallback(对于仅限本地使用的热点)获取设备功能。
现有已注册的软 AP 回调必须替换 SoftApCallback#onClientsDisconnected 方法。如需了解详情,请参阅
使用热点 API 开发应用。
如需查看使用 SoftApCallback 的参考
AAOS 汽车设置页面中网络共享 Wi-Fi 热点的实现示例,请参阅
WifiTetheringHandler.java。
如需测试实现情况,请运行以下单元测试和 CTS 验证程序测试:
- 单元测试
- 管理器:
atest packages/modules/Wifi/framework/tests/ - 服务:
atest packages/modules/Wifi/service/tests/wifitests/
- 管理器:
- CTS 验证程序测试:
atest CtsWifiSoftApTestCases
显示
窗口化模式
窗口化模式提供了一个熟悉的界面来排列和调整重叠窗口的大小,从而提高工作效率。如需了解如何支持窗口化模式,请参阅 支持多窗口模式 。
基于设备状态的自动屏幕旋转设置
从 Android 16 QPR1 版本开始,我们提供了一个经过重构的基于设备状态的自动屏幕旋转设置实现。早期版本的基于设备状态的自动屏幕旋转设置存在一个已知问题,即设置值可能会在没有用户互动的情况下发生更改。
如需了解详情,请参阅基于设备状态的自动屏幕旋转设置。
“快捷设置”功能块分类
Android 16 QPR2 包含“快捷设置”功能块类别 (在 Beta 1 中添加),相关说明请参阅 为应用创建自定义快捷设置功能块。 这些类别可在“快捷设置”的编辑模式下对功能块进行排序,以便用户更快地找到相应功能块 。
如需了解详情,请参阅“快捷设置”功能块分类。
互动
触感反馈
Android 16 引入了相关 API,以减少生态系统中的触感反馈碎片化问题,避免对单个设备进行调优的需要,并为开发者和设备最终用户提供更丰富且富有表现力的动作体验。新的逐段线性波封 (PWLE) API 支持创建经过标准化处理的 PWLE 特效,以便在相似的设备上产生相近的触感反馈感知。
以下是 Android 16 中的新 API 如何改进触感反馈功能的摘要:
- 通过标准化值扩缩来消除按设备调优的需要,从而降低开发成本。
- 为整个生态系统创建一套触感反馈基元(例如:
CLICK、TICK、LOW_TICK、SLOW_RISE、QUICK_RISE、QUICK_FALL、THUD、SPIN)。 - 支持创建和组合参数化效果(持续时间、振幅和频率)。
- 针对触感反馈过载提供自动保护支持。
- 支持多感官体验,例如结合触感反馈和声音。
- 缩小 Android 触感反馈开发者能力的公平差。
我们建议您集成并使用新的标准化 PWLE API 来启用基准触感反馈基元,并为新的开发者触感反馈体验提供支持。如需了解详情,请参阅 实现 PWLE 效果。
心率基础传感器
在 Android 16 中,为了保持兼容性,Android 框架对心率基础传感器使用 SENSOR_PERMISSION_READ_HEART_RATE 权限。在 Android 15 及更低版本中,框架使用 SENSOR_PERMISSION_BODY_SENSORS 权限。如需详细了解心率基础传感器类型,请参阅
心率。
媒体
支持 HDR
Android 16 引入了对 HDR 支持方面的以下改进:
- 通过 Media3 ExoPlayer和 照片选择器提供应用回退功能(以 SDR 作为回退)。
- 增强了对 HDR 内容的屏幕截图支持。如需了解详情,请参阅 Android 中的 HDR 屏幕截图。
- 提高了所创作的 HDR 内容的一致性。
我们建议您执行以下操作:
- 默认情况下,在相机应用中启用 HLG 或杜比视界(8.4 版支持 HLG)。
- 默认情况下,为照片启用 Ultra HDR。
- 为 HLG 视频和 Ultra HDR 拍摄提供应用支持。
媒体质量框架
在 Android 16 中,我们正在设计一个新的图片和音频质量框架,以便为 Android 电视实现建立标准化 API。此框架为 Android 电视上的画质 (PQ) 和音质 (AQ) 调整提供了一种统一的方法,并简化了供应商的开发工作。此功能提供以下内容:
- 针对显示面板上的每个流、每个用户和每种输入类型提供精细的图片质量设置,并提供一个系统级设置,供整个屏幕在所有应用中使用
- 针对每个流和每个设备提供精细的音频设置,并提供一个系统级设置,供所有应用使用
视频编解码器
在 Android 16 中,我们将推出面向高级专业视频 (APV) 编解码器的平台支持。APV 编解码器是一种高比特率的帧内编解码器,旨在为内容创作者提供高质量视频拍摄和编辑功能。
此外,Google 计划将所有用户从 VP8、VP9 和 AVC (H.264) 过渡到 AV1。应用开发者更喜欢 AV1(下一代编解码器),以避免在后端进行转码并缩短延迟时间。尽管 AV1 软件编解码器支持正在改进,我们仍建议使用硬件编解码器,尤其是在编码方面。
您可以采用 AV1 来实现更高的画质、可靠性和并发性,并考虑在“相机”和“相册”应用中提供 APV 支持。
性能
以旧换新模式
Android 16 引入了以旧换新模式,方便开发者和转销商在恢复出厂设置后评估系统健康状况。
如需了解详情,请参阅获取系统健康状况信息。
权限
Android 角色更新
Android 16 更新了以下角色:
COMPANION_DEVICE_APP_STREAMING:适用于应用流式传输、投放或镜像用例,允许从 Android 设备(例如手机或平板电脑)向桌面或笔记本电脑流式传输、投放或镜像应用。COMPANION_DEVICE_NEARBY_DEVICE_STREAMING:适用于 Android 设备(例如手机或平板电脑)到 Connected Vehicle 应用和到 XR 设备应用流式传输的用例。
如需了解详情,请参阅 Android 角色。
安全
移动网络安全
Android 16 对 SIM 卡设置下的 2G 连接切换开关 进行了细微的界面更改,使其与其余设置 保持一致。 Android 16 还在 设置下的安全中心中引入了一个名为移动网络安全 的专用部分,用于提供移动网络安全功能。
设备完整性
Android 16 增加了对 KeyMint 4.0 版证明证书的支持。为了验证已加载 APEX 模块的完整性,KeyMint 4.0 证书在 KeyDescription 结构中包含了一个新的 moduleHash 字段。
如需了解详情,请参阅密钥和 ID 认证。
GPU 系统调用过滤
Android 16 QPR2 添加了一个 SELinux 宏来强化内核驱动程序。此宏会阻止生产环境中的受限 IOCTL,例如已废弃的 IOCTL 或用于内核驱动程序开发的 IOCTL。它还将驱动程序分析的 IOCTL 限制为 shell 或可调试应用。使用此宏可增强设备的安全性。
如需了解详情,请参阅 GPU 系统调用过滤。
将文件移至私密空间
Android 16 QPR2 允许用户直接从主用户资料将文件和照片导入到私密空间。此流程从启动器中添加 按钮的添加文件 快捷方式启动,该快捷方式使用新的系统应用,让用户将所选文件移动或复制到私密空间的 Downloads 文件夹中。OEM 可以选择是否采用此功能。
如需了解详情,请参阅私密空间。
存储
默认联系人账号
Android 用户在换用其他设备时会丢失一些联系人。为了减少联系人的丢失,Android 16 引入了联系人默认账号的概念。如要支持此功能,您的通讯录应用应该:
- 宣传云同步选项,以防止联系人信息随着时间的推移而丢失
- 询问用户是否要将本地存储的联系信息和 SIM 卡中存储的联系信息移至云默认账号
- 不建议新建本地存储的联系信息和 SIM 卡中存储的联系信息
更新
无缝的应用更新
当软件包正在更新时,系统会暂停它并使它进入冻结状态,从而防止它在所含代码和资源发生变化时运行。对于大型、复杂且对系统至关重要的应用,将软件包置于冻结状态可能会导致不良的用户体验,因为依赖的应用可能无法运行。
Android 16 通过将 dexopt 或 dex2oat 移至安装过程的早期阶段,缩短了应用无法运行的时间。此变更将应用冻结的时长从几秒缩短到几十毫秒。
虚拟化
Android 16 为 Android 虚拟化框架 (AVF) 和受保护的 KVM (pKVM) Hypervisor 带来了扩展功能,例如改进了虚拟机 (VM) 内的操作系统更新,并引入了 Linux 终端。 以下是 AVF 的重大变更列表:
- AVF 低级别原生开发套件 (LL-NDK) 支持 。Android 16 允许供应商使用 Google 管理的 AVF 从供应商分区启动虚拟机。
- 前期启动虚拟机支持 。AVF 允许虚拟机在启动过程的早期运行,这有利于 KeyMint 硬件抽象层 (HAL) 等关键载荷。
- Microdroid 更新 。Microdroid 包含可调整大小的加密存储空间和 16K 受保护虚拟机支持,以提高性能。
- Linux 终端支持 。Ferrochrome 在虚拟机中引入了基于 Debian 的 Linux 终端。
- Arm A-profile (FF-A) 的访客固件框架支持 。pKVM 支持与 TrustZone 进行 FF-A 标准化安全通信,以保护虚拟机。
- 受保护的虚拟机更新 。适用于标准可信应用 (TA) 的 Trusty 操作系统允许您在受保护的虚拟机中运行 TrustZone 可信小程序,以增强隔离性和可更新性。
- 供应商专用安全监控调用 (SMC) 支持 。您可以将包含供应商专用 SMC 的现有代码移到 pVM 中。
- 设备分配更新 。Android 16 支持将平台设备分配给 pVM,从而允许直接硬件访问。
- 不受保护的访客对等支持 。不受保护的访客具有完整的内存管理单元 (MMU) 通知程序支持,并且具有与 Android 应用类似的未固定内存。
- Hypervisor 跟踪更新 。Android 16 包含结构化日志记录事件和改进的函数跟踪。
如需详细了解这些变更,请参阅 Android 虚拟化框架。