Bluetooth

Bluetooth — это дополнительный модуль Mainline, начиная с Android 13. Модуль Bluetooth Mainline предназначен для обеспечения стабильной и высококачественной работы Bluetooth для всех пользователей Android.

Мотивация

Основной мотивацией модуля Bluetooth является предоставление высококачественных услуг партнерам, пользователям и разработчикам приложений. Мы достигнем этого несколькими ключевыми способами:

  1. Отправляйте обновления быстрее и чаще благодаря новым функциям, исправлениям ошибок и совместимости, а также исправлениям безопасности.
  2. Сокращение повторяющейся работы для партнеров
    1. Уменьшение накладных расходов на ежегодное обновление кодовой базы.
    2. Уменьшены накладные расходы на развертывание OTA на устаревшие устройства.
  3. Уменьшите фрагментацию и создайте единый интерфейс для разработчиков и пользователей приложений.
  4. Улучшите глобальную безопасность в экосистеме Android. Большая часть уязвимостей безопасности Android связана с Bluetooth.

Формат пакета

Пакет представляет собой APEX, содержащий Bluetooth APK (в настоящее время определенный в packages/modules/Bluetooth/android/app ), наши собственные библиотеки ( libbluetooth.so и libbluetooth_jni.so ), наши API (в packages/modules/Bluetooth/framework/java/android/bluetooth ) и наши интерфейсы HIDL.

Граница модуля

Архитектура основного модуля Bluetooth

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

Мы переносим все наши существующие репозитории в один под system/bt . На рисунке 1 представлены текущие каталоги, которые будут содержать наш модуль.

Зависимости

Модуль Bluetooth зависит от следующего:

  • Входящие и исходящие использования @hide API, которые будут очищены
  • Библиотеки, необходимые для Bluetooth APK, libbluetooth.so и libbluetooth_jni.so