Moduł Bluetooth to opcjonalny moduł Mainline wprowadzony w Androidzie 13. W Androidzie 16 i nowszych wersjach moduł można aktualizować. Zawiera on w pełni certyfikowany stos hosta Bluetooth w trybie podwójnym, dzięki czemu urządzenia z Androidem mogą obsługiwać zarówno klasyczne funkcje Bluetooth, jak i Bluetooth Low Energy (BLE).
Głównym celem modułu Bluetooth jest zapewnienie producentom urządzeń, użytkownikom i deweloperom aplikacji lepszej jakości Bluetooth przez:
szybsze dostarczanie aktualizacji z nowymi funkcjami, poprawkami błędów, ulepszeniami interoperacyjności i poprawkami zabezpieczeń szybko i regularnie, niezależnie od cyklu wydawania systemu operacyjnego Android;
zmniejszenie fragmentacji i zapewnienie spójności w całym ekosystemie Androida;
usprawnienie prac deweloperów przez dostarczanie modułów Bluetooth Mainline zweryfikowanych przez Androida i unikanie częstego ponownego bazowania, co zmniejsza nakłady na rozwój i testowanie.
Format pakietu
Moduł Bluetooth używa formatu APEX. Pakiet com.google.android.bt zawiera plik APK Bluetooth zdefiniowany w packages/modules/Bluetooth/android/app, wbudowaną bibliotekę libbluetooth_jni.so, interfejsy API w packages/modules/Bluetooth/framework/java/android/bluetooth oraz interfejsy HIDL.
Granica modułu
Ten schemat przedstawia granicę modułu Bluetooth:
Rysunek 1. Granica modułu Bluetooth.
Zależności
Moduł Bluetooth ma te zależności:
- przychodzące i wychodzące użycie interfejsu API
@hide; - biblioteka wymagana przez plik APK Bluetooth (
libbluetooth.so); - implementacja HAL od dostawcy chipsetu Bluetooth;
- Android Audio Framework do strumieniowania dźwięku;
- telefonia Androida do połączeń telefonicznych;
- thethering w Androidzie do osobistej sieci Bluetooth (PAN).