本页总结了 Android 16 版本中的主要功能,并提供了指向其他信息的链接。根据各个功能的介绍文档在本网站上的位置,整理了以下功能摘要。
音频
可配置的音频政策支持
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)
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 验证程序多设备测试更新。
连接
Android 操作系统识别
从 Android 16 开始,Android 框架包含一项名为“Android 信息服务”(AIS) 的通用属性 (GATT) 服务,该服务可让蓝牙设备将 Android API 级别读取为服务的 GATT 特征。此服务可让蓝牙设备制造商了解蓝牙外围设备是否正在与运行 Android 操作系统的中央设备配对,并根据 API 级别管理专用逻辑。
如需了解详情,请参阅 Android 操作系统标识。
紧急回拨模式
Android 16 引入了 EmergencyCallbackModeListener
系统 API,该 API 可让 IMS 模块在设备进入或退出紧急回拨模式(针对短信或通话)时,通过回调获取紧急回拨模式状态。设备制造商可以使用此 API 实现 IMS 注册管理,以满足运营商和 3GPP 要求。例如,如果用户设备 (UE) 处于紧急回拨模式状态,则可将 IMS 模块设置为在一定时间内保持其紧急注册状态。IMS 模块还可以根据紧急回拨模式的状态来维护、延长和取消紧急注册。
IMS 服务更新
Android 16 引入了设备制造商和供应商可用于其 IMS 实现的系统 API。下表列出了特权应用可用于支持 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 开发应用。
如需查看在参考 AAOS 汽车设置页面中使用 SoftApCallback
的网络共享 Wi-Fi 热点的实现示例,请参阅 WifiTetheringHandler.java
。
如需测试实现情况,请运行以下单元测试和 CTS 验证程序测试:
- 单元测试
- 经理:
atest packages/modules/Wifi/framework/tests/
- 服务:
atest packages/modules/Wifi/service/tests/wifitests/
- 经理:
- CTS 验证程序测试:
atest CtsWifiSoftApTestCases
显示
窗口化模式
桌面窗口化功能可提供熟悉的界面来排列和调整重叠窗口的大小,从而提高工作效率。如需了解如何支持桌面窗口化,请参阅支持多窗口。
互动
触感反馈
Android 16 引入了相关 API,以减少生态系统中的触感反馈碎片化问题,避免对单个设备进行调优的需要,并为开发者和设备最终用户提供更丰富且富有表现力的动作体验。新的逐段线性封套 (PWLE) API 支持创建经过标准化处理的 PWLE 效果,以便在相似的设备上产生相近的触感反馈感知。
下面总结了 Android 16 中的新 API 如何改善触感反馈功能:
- 通过标准化值扩缩来消除按设备调优的需要,从而降低开发成本。
- 为整个生态系统创建一套触感反馈基元(例如:
CLICK
、TICK
、LOW_TICK
、SLOW_RISE
、QUICK_RISE
、QUCK_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 TV 上的画质 (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 设备(例如手机或平板电脑)到联网车辆应用和到 XR 设备应用串流的用例。
如需了解详情,请参阅 Android 角色。
安全
移动网络安全
Android 16 对 SIM 卡设置下的 2G 连接切换开关进行了细微的用户体验更改,使其与其余设置保持一致。Android 16 还会在设置中的安全中心内引入一个专门用于移动网络安全功能的版块,名为移动网络安全。
设备完整性
Android 16 增加了对 KeyMint 版本 4.0 认证证书的支持。为了验证已加载的 APEX 模块的完整性,KeyMint 4.0 证书在 KeyDescription
结构中包含新的 moduleHash
字段。
如需了解详情,请参阅密钥认证和 ID 认证。
存储
默认联系人账号
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 虚拟化框架。