Bluetooth

Модуль 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:

граница модуля Bluetooth

Рисунок 1. Границы модуля Bluetooth.

Зависимости

Модуль Bluetooth зависит от следующих компонентов:

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