Bluetooth

Bluetooth jest opcjonalnym modułem głównego szkieletu od wersji Android 13. Moduł Bluetooth Mainline ma zapewnić wszystkim użytkownikom Androida spójne i wysokojakościowe działanie Bluetooth.

Motywacja

Głównym celem modułu Bluetooth jest zapewnienie wysokiej jakości partnerom, użytkownikom i deweloperom aplikacji. Osiągniemy to na kilka kluczowych sposobów:

  1. Szybciej i częściej dostarczać aktualizacje z nowymi funkcjami, poprawkami błędów i niezgodności oraz poprawkami zabezpieczeń.
  2. Ograniczenie powtarzalnej pracy partnerów
    1. Zmniejszenie nakładów związanych z rebazowaniem kodu źródłowego co roku.
    2. Zmniejszenie nakładów związanych z wdrażaniem aktualizacji OTA na urządzeniach starszej generacji.
  3. zmniejszenie fragmentacji i zapewnienie spójnych wrażeń dla deweloperów i użytkowników aplikacji;
  4. poprawa ogólnego stanu zabezpieczeń w ekosystemie Androida; Duża część luk w zabezpieczeniach Androida dotyczy Bluetootha.

Format pakietu

Pakiet to plik APEX zawierający plik APK Bluetooth (obecnie zdefiniowany w pliku packages/modules/Bluetooth/android/app), nasze natywne biblioteki (libbluetooth.solibbluetooth_jni.so), nasze interfejsy HIDL (w ramach packages/modules/Bluetooth/framework/java/android/bluetooth) oraz nasze interfejsy HIDL.

Granica modułu

Architektura modułu Bluetooth magistrali głównej

Rysunek 1. Ograniczenie modułu Bluetooth

Wszystkie nasze repozytoria zostaną przeniesione do jednego repozytorium o nazwie system/bt. Rysunek 1 przedstawia bieżące katalogi, które będą tworzyć nasz moduł.

Zależności

Moduł Bluetooth ma zależności od:

  • Przychodzące i wychodzące interfejsy API @hide, które zostaną usunięte
  • Biblioteki wymagane do pliku APK Bluetooth, libbluetooth.solibbluetooth_jni.so