Bluetooth

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:

  1. Pubblica gli aggiornamenti più rapidamente e più di frequente con nuove funzionalità, correzioni di bug e di interoperabilità e correzioni di sicurezza.
  2. Ridurre il lavoro ripetitivo per i partner.
    1. Riduzione dell'overhead per il rebasing del codebase ogni anno.
    2. Riduzione dell'overhead dell'implementazione delle OTA sui dispositivi legacy.
  3. Ridurre la frammentazione e creare un'esperienza coerente per sviluppatori e utenti di app
  4. 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

Architettura del modulo Bluetooth di Mainline

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 e libbluetooth_jni.so