Bluetooth

Das Bluetooth-Modul ist ein optionales Mainline-Modul, das in Android 13 eingeführt wurde. Unter Android 16 und höher ist das Modul aktualisierbar und enthält einen vollständig zertifizierten Dual-Mode-Bluetooth-Host-Stack, der es Android-Geräten ermöglicht, sowohl Classic Bluetooth als auch Bluetooth Low Energy (BLE) zu unterstützen.

Das Bluetooth-Modul soll Geräteherstellern, Nutzern und App-Entwicklern eine bessere Bluetooth-Nutzung ermöglichen. Dazu werden folgende Ziele verfolgt:

  • Schnellere Updates mit neuen Funktionen, Fehlerkorrekturen, Verbesserungen der Interoperabilität und Sicherheitspatches schnell und regelmäßig bereitstellen, unabhängig vom Releasezyklus des Android-Betriebssystems.

  • Fragmentierung reduzieren und ein einheitliches Erlebnis für das gesamte Android-Ökosystem schaffen.

  • Optimierung der Partnerentwicklung durch Bereitstellung von Android-validierten Bluetooth-Mainline-Modulen und Vermeidung häufiger Rebasings, wodurch der Entwicklungs- und Testaufwand reduziert wird.

Paketformat

Das Bluetooth-Modul verwendet das APEX-Format. Das Paket com.google.android.bt enthält das in packages/modules/Bluetooth/android/app definierte Bluetooth-APK, die integrierte Bibliothek libbluetooth_jni.so, die APIs unter packages/modules/Bluetooth/framework/java/android/bluetooth und die HIDL-Schnittstellen.

Modulgrenze

Das folgende Diagramm zeigt die Grenze des Bluetooth-Moduls:

Grenze des Bluetooth-Moduls

Abbildung 1. Bluetooth-Modul

Abhängigkeiten

Das Bluetooth-Modul hat Abhängigkeiten von den folgenden Elementen:

  • Eingehende und ausgehende @hide-API-Nutzung
  • Für das Bluetooth-APK (libbluetooth.so) erforderliche Bibliothek.
  • HAL-Implementierung vom Bluetooth-Chipsatzanbieter
  • Android Audio Framework für Audiostreaming
  • Android-Telefonie für Anrufe
  • Android-Tethering für Bluetooth Personal Area Network (PAN)