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