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 hinter dem Bluetooth-Modul 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 sich wiederholende Arbeiten 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 konsistentes Erlebnis für App-Entwickler und Benutzer
- Verbessern Sie die globale Sicherheit innerhalb des Android-Ökosystems. Ein großer Teil der Sicherheitslücken in Android betrifft Bluetooth.
Paketformat
Das Paket ist ein APEX, das die 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
) und unsere HIDL-Schnittstellen.
Modulgrenze
Abbildung 1. Begrenzung des Bluetooth-Moduls
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 hat folgende Abhängigkeiten:
- Eingehende und ausgehende
@hide
API-Nutzungen, die bereinigt werden - Erforderliche Bibliotheken für die Bluetooth-APK,
libbluetooth.so
undlibbluetooth_jni.so