Bluetooth to opcjonalny moduł Mainline, który zaczyna się od Androida 13. Moduł Bluetooth Mainline ma zapewnić wszystkim użytkownikom Androida spójne i wysokiej jakości 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:
- Szybciej i częściej dostarczać aktualizacje z nowymi funkcjami, poprawkami błędów i niezgodności oraz poprawkami zabezpieczeń.
- Zmniejszenie liczby powtarzalnych czynności przez partnerów.
- Zmniejszenie nakładów związanych z rebazowaniem kodu źródłowego co roku.
- Zmniejszenie nakładów związanych z wdrażaniem aktualizacji OTA na urządzeniach starszej generacji.
- zmniejszenie fragmentacji i zapewnienie spójnych wrażeń dla deweloperów i użytkowników aplikacji;
- 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.so
i libbluetooth_jni.so
), nasze interfejsy HIDL (w ramach packages/modules/Bluetooth/framework/java/android/bluetooth
) oraz nasze interfejsy HIDL.
Granica modułu
Rysunek 1. Zasięg modułu Bluetooth
Przenosimy wszystkie istniejące repozytoria do jednego repozytorium system/bt
.
Rysunek 1 przedstawia bieżące katalogi, które składają się na 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 w przypadku plików APK Bluetooth,
libbluetooth.so
ilibbluetooth_jni.so