Il Bluetooth è un modulo Mainline facoltativo a partire da Android 13. Il modulo Bluetooth di Mainline mira a fornire un'esperienza Bluetooth coerente e di alta qualità a tutti gli utenti Android.
Motivazione
Lo scopo principale del modulo Bluetooth è fornire un'esperienza di alta qualità a partner, utenti e sviluppatori di app. Lo faremo in diversi modi chiave:
- Pubblica gli aggiornamenti più rapidamente e più di frequente con nuove funzionalità, correzioni di bug e di interoperabilità e correzioni di sicurezza.
- Ridurre il lavoro ripetitivo per i partner.
- Riduzione dell'overhead per il rebasing del codebase ogni anno.
- Riduzione dell'overhead dell'implementazione delle OTA sui dispositivi legacy.
- Ridurre la frammentazione e creare un'esperienza coerente per sviluppatori e utenti di app
- Migliorare la sicurezza globale all'interno dell'ecosistema Android. Gran parte delle vulnerabilità di sicurezza di Android coinvolge il Bluetooth.
Formato del pacchetto
Il pacchetto è un APEX contenente l'APK Bluetooth (attualmente definito in
packages/modules/Bluetooth/android/app
), le nostre librerie native (libbluetooth.so
e
libbluetooth_jni.so
), le nostre API (in
packages/modules/Bluetooth/framework/java/android/bluetooth
) e le nostre interfacce HIDL.
Confine del modulo
Figura 1. Confine del modulo Bluetooth
Stiamo eseguendo la migrazione di tutti i nostri repository esistenti in un unico ambiente in system/bt
.
La Figura 1 mostra le directory attuali che costituiranno il nostro modulo.
Dipendenze
Il modulo Bluetooth ha dipendenze da quanto segue:
- Utilizzi in entrata e in uscita dell'API
@hide
che verranno ripuliti - Librerie richieste per l'APK Bluetooth,
libbluetooth.so
elibbluetooth_jni.so