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

Das Bluetooth-Modul soll Partnern, Nutzern und App-Entwicklern eine qualitativ hochwertige Nutzung ermöglichen. 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. Verbesserung der globalen Sicherheit im Android-Ökosystem 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

Mainline-Bluetooth-Modularchitektur

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 hat Abhängigkeiten von folgenden Elementen:

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