Bluetooth

Bluetooth è un modulo Mainline opzionale a partire da Android 13. Il modulo Bluetooth Mainline mira a fornire un'esperienza Bluetooth coerente e di alta qualità a tutti gli utenti Android.

Motivazione

La motivazione principale alla base del modulo Bluetooth è fornire un'esperienza di alta qualità a partner, utenti e sviluppatori di app. Raggiungeremo questo obiettivo in alcuni modi chiave:

  1. Fornisci aggiornamenti più velocemente e con maggiore frequenza con nuove funzionalità, correzioni di bug, interoperabilità e correzioni di sicurezza.
  2. Ridurre il lavoro ripetitivo per i partner
    1. Riduzione del sovraccarico dovuto alla riorganizzazione della base di codice ogni anno.
    2. Riduzione del sovraccarico derivante dall'implementazione delle OTA sui dispositivi legacy.
  3. Riduci la frammentazione e crea un'esperienza coerente per gli sviluppatori e gli utenti di app
  4. Migliora la sicurezza globale all'interno dell'ecosistema Android. Gran parte delle vulnerabilità della sicurezza Android coinvolgono 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

Architettura del modulo Bluetooth principale

Figura 1. Confine del modulo Bluetooth

Stiamo migrando tutti i nostri repository esistenti in uno solo sotto system/bt . La Figura 1 rappresenta le directory attuali che comporranno il nostro modulo.

Dipendenze

Il modulo Bluetooth dipende da quanto segue:

  • Utilizzi API @hide in entrata e in uscita che verranno ripuliti
  • Librerie richieste per l'APK Bluetooth, libbluetooth.so e libbluetooth_jni.so