从 Android 13 开始,Android 包含超宽带 (UWB) 无线电技术的默认框架实现,这项技术可在受支持的设备之间实现高度安全、精确的测距。平台 AOSP UWB 堆栈作为设备制造商的可选模块提供。如需详细了解该模块,请参阅模块:UWB。
架构
如图 1 所示,UWB 堆栈由 UWB 主线模块和 UWB 芯片供应商提供的 HAL 实现组成。
图 1. UWB 堆栈架构
AOSP 堆栈
AOSP UWB 堆栈(打包为可选模块 com.google.android.uwb
)包含以下组件
- UWB 平台 API 表面
- 代码位置:
packages/modules/Uwb/framework
- 代码位置:
- 支持库
- 代码位置:
packages/modules/Uwb/service/support_lib
- 代码位置:
- UwbService 层和通用服务管理层 (CSML) 组件由 FiRa 定义
- 代码位置:
packages/modules/Uwb/service
- 代码位置:
- Rust 原生 UCI 层
- 代码位置:
external/uwb
- 代码位置:
- 基于 UWB 命令接口 (UCI) 规范(由 FiRa 定义)的 UWB HAL 接口
- 代码位置:
hardware/interfaces/uwb
- 代码位置:
供应商组件
供应商堆栈包括 UWB HAL 供应商实现、UWB 驱动程序和 UWB 设备。
UWB 的 API 表面
UWB 堆栈包括用于系统应用和第三方应用的 API 表面。
系统应用
设备制造商使用 android.uwb.UwbManager
系统 API 表面,以便为系统应用提供低级别访问权限。要使用此 API 表面,系统应用必须使用支持库 (packages/modules/Uwb/service/support_lib
)。
第三方应用
第三方应用使用 Jetpack UWB 公共 API 表面 androidx.core.uwb
。如需了解详情,请参阅超宽带通信。
验证
要验证 UWB 的实现,请确保您的设备通过位于 /cts/tests/uwb
下的 CTS 测试。