Модуль Bluetooth — это дополнительный модуль основной ветки, представленный в Android 13. В Android 16 и более поздних версиях модуль можно обновлять, и он содержит полностью сертифицированный двухрежимный стек Bluetooth, позволяющий устройствам Android поддерживать как классический Bluetooth, так и Bluetooth Low Energy (BLE).
Основная цель создания модуля Bluetooth — обеспечить более высокое качество работы Bluetooth для производителей устройств, пользователей и разработчиков приложений за счет:
Мы обеспечиваем более быструю и регулярную доставку обновлений с новыми функциями, исправлениями ошибок, улучшениями совместимости и патчами безопасности, независимо от цикла выпуска операционной системы Android.
Снижение фрагментации и обеспечение единообразного пользовательского опыта для всей экосистемы Android.
Оптимизация разработки для партнеров за счет предоставления модулей Bluetooth Mainline, прошедших проверку на Android, и избежания частых перебазирований, что снижает затраты на разработку и тестирование.
Формат упаковки
Модуль Bluetooth использует формат APEX . Пакет com.google.android.bt содержит APK-файл Bluetooth, определенный в packages/modules/Bluetooth/android/app , встроенную библиотеку libbluetooth_jni.so , API-интерфейсы из packages/modules/Bluetooth/framework/java/android/bluetooth и интерфейсы HIDL.
Module boundary
На следующей схеме показаны границы модуля Bluetooth:

Рисунок 1. Границы модуля Bluetooth.
Зависимости
Модуль Bluetooth зависит от следующих компонентов:
- Использование API
@hideдля входящих и исходящих запросов - Для работы APK-файла Bluetooth требуется библиотека (
libbluetooth.so). - Реализация HAL от поставщика чипсета Bluetooth
- Android Audio Framework для потоковой передачи аудио
- Телефонная связь на Android для телефонных звонков
- Подключение устройств Android к персональной сети Bluetooth (PAN)