Bluetooth

Bluetooth ist ein optionales Mainline-Modul ab Android 13. Ziel des Bluetooth-Mainline-Moduls ist es, allen Android-Nutzern eine einheitliche, qualitativ hochwertige Nutzung von Bluetooth zu ermöglichen.

Ziel

Die Hauptmotivation für das Bluetooth-Modul besteht darin, Partnern, Nutzern und App-Entwicklern ein hochwertiges Erlebnis zu bieten. Wir werden dies auf folgende Weise erreichen:

  1. Schnellere und häufigere Bereitstellung von Updates mit neuen Funktionen, Fehlerkorrekturen, Interoperabilitäts- und Sicherheitskorrekturen.
  2. Reduzierung sich wiederholender Aufgaben für Partner
    1. Reduzierter Aufwand für die jährliche Neubasierung der Codebasis.
    2. Geringerer Aufwand beim Roll-out von Over-the-air-Updates auf ältere Geräte.
  3. Fragmentierung reduzieren und für App-Entwickler und Nutzer eine einheitliche Umgebung schaffen
  4. Die globale Sicherheit im Android-Ökosystem verbessern Ein großer Teil der Sicherheitslücken bei Android hat mit Bluetooth zu tun.

Paketformat

Das Paket ist ein APEX, das das Bluetooth-APK (derzeit in packages/modules/Bluetooth/android/app definiert), unsere nativen Bibliotheken (libbluetooth.so und libbluetooth_jni.so), unsere APIs (unter packages/modules/Bluetooth/framework/java/android/bluetooth) und unsere HIDL-Schnittstellen enthält.

Modulgrenze

Architektur des Mainline-Bluetooth-Moduls

Abbildung 1. Bluetooth-Modulgrenze

Wir migrieren alle unsere vorhandenen Repos in ein einziges unter system/bt. Abbildung 1 zeigt die aktuellen Verzeichnisse, aus denen unser Modul besteht.

Abhängigkeiten

Das Bluetooth-Modul ist von Folgendem abhängig:

  • Ein- und ausgehende @hide API-Nutzungen, die bereinigt werden
  • Für das Bluetooth-APK, libbluetooth.so und libbluetooth_jni.so erforderliche Bibliotheken