Bluetooth ist ein optionales Mainline-Modul ab Android 13. Das Bluetooth Mainline-Modul zielt darauf ab, allen Android-Benutzern ein konsistentes, qualitativ hochwertiges Bluetooth-Erlebnis zu bieten.
Motivation
Die Hauptmotivation des Bluetooth-Moduls besteht darin, Partnern, Benutzern und App-Entwicklern ein qualitativ hochwertiges Erlebnis zu bieten. Wir werden dies auf einige wichtige Arten erreichen:
- Versenden Sie Updates schneller und häufiger mit neuen Funktionen, Fehler- und Interoperabilitätskorrekturen sowie Sicherheitskorrekturen.
- Reduzieren Sie die sich wiederholende Arbeit für Partner
- Reduzierter Aufwand für die jährliche Neubasierung der Codebasis.
- Reduzierter Aufwand für die Einführung von OTAs auf älteren Geräten.
- Reduzieren Sie die Fragmentierung und schaffen Sie ein einheitliches Erlebnis für App-Entwickler und -Benutzer
- Verbessern Sie die globale Sicherheit im Android-Ökosystem. Ein großer Teil der Android-Sicherheitslücken betrifft Bluetooth.
Paketformat
Das Paket ist ein APEX, das das Bluetooth APK (derzeit definiert in packages/modules/Bluetooth/android/app
), unsere nativen Bibliotheken ( libbluetooth.so
und libbluetooth_jni.so
), unsere APIs (unter packages/modules/Bluetooth/framework/java/android/bluetooth
enthält packages/modules/Bluetooth/framework/java/android/bluetooth
) und unsere HIDL-Schnittstellen.
Modulgrenze
Abbildung 1. Bluetooth-Modulgrenze
Wir migrieren alle unsere bestehenden Repos in ein einziges unter system/bt
. Abbildung 1 stellt die aktuellen Verzeichnisse dar, aus denen unser Modul bestehen wird.
Abhängigkeiten
Das Bluetooth-Modul ist von Folgendem abhängig:
- Eingehende und ausgehende
@hide
API-Nutzungen, die bereinigt werden - Für das Bluetooth APK erforderliche Bibliotheken:
libbluetooth.so
undlibbluetooth_jni.so