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. Invia gli aggiornamenti più velocemente e più frequentemente con nuove funzionalità, correzioni di bug e interoperabilità e correzioni di sicurezza.
  2. Ridurre il lavoro ripetitivo per i partner
    1. Costi generali ridotti per ribasare la base di codice ogni anno.
    2. Costi generali ridotti per l'implementazione delle OTA sui dispositivi legacy.
  3. Riduci la frammentazione e crea un'esperienza coerente per gli sviluppatori e gli utenti delle app
  4. Migliora la sicurezza globale all'interno dell'ecosistema Android. Gran parte delle vulnerabilità di sicurezza di Android riguarda 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.

Limite del modulo

Architettura del modulo Bluetooth principale

Figura 1. Limite del modulo Bluetooth

Stiamo migrando tutti i nostri repository esistenti in un unico repository in system/bt . La figura 1 rappresenta le directory correnti che comprenderanno il nostro modulo.

Dipendenze

Il modulo Bluetooth dipende da quanto segue:

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