Начиная с Android 13, Android предоставляет реализацию фреймворка по умолчанию для технологии сверхширокополосной радиосвязи (UWB), которая обеспечивает высокозащищённое и точное определение дальности между поддерживаемыми устройствами. Платформа предоставляет стек AOSP UWB в качестве опционального модуля для производителей устройств. Подробнее о модуле см. в разделе Модуль: UWB .
Архитектура
Стек UWB состоит из основного модуля UWB и реализации HAL, предоставляемой поставщиком микросхем UWB. На рисунке 1 показана архитектура стека UWB:

Рисунок 1. Архитектура стека UWB.
Стек AOSP
Стек AOSP UWB, упакованный как дополнительный модуль com.google.android.uwb , содержит следующие компоненты:
- Поверхность API платформы UWB: Расположение кода:
packages/modules/Uwb/framework - Библиотека поддержки: Расположение кода:
packages/modules/Uwb/service/support_lib - Компоненты уровня UwbService и уровня общего управления службами (CSML), определяемые кодом FiRa . Расположение:
packages/modules/Uwb/service - Слой UCI для Rust: Расположение кода:
external/uwb - Интерфейс UWB HAL на основе спецификации командного интерфейса UWB (UCI), определенной FiRa . Расположение кода:
hardware/interfaces/uwb
Компоненты поставщика
Стек поставщиков включает реализацию поставщика UWB HAL, драйвер UWB и устройство UWB.
API-поверхности для UWB
Стек UWB включает API-поверхности для системных приложений и сторонних приложений.
Системные приложения
Производители устройств используют системный API android.uwb.UwbManager для предоставления низкоуровневого доступа системным приложениям. Для использования этого API системные приложения должны использовать библиотеку поддержки ( packages/modules/Uwb/service/support_lib ).
Сторонние приложения
Сторонние приложения используют общедоступный API Jetpack UWB, androidx.core.uwb . Подробнее см. в разделе [Сверхширокополосные технологии] 6 .
Проверка
Чтобы проверить реализацию UWB, убедитесь, что ваше устройство проходит тесты CTS в каталоге /cts/tests/uwb .