Hauptstrecke

Mit Android 10 wurde Mainline eingeführt (auf dieser Website früher als modulare Systemkomponenten bezeichnet). Mainline modularisiert einige Android-Systemkomponenten und ermöglicht deren Aktualisierung außerhalb des normalen Android-Release-Zyklus. Dies ermöglicht es Google und Android-Partnern, Updates umfassend, schnell und nahtlos auf unaufdringliche Weise an Endbenutzergeräte zu verteilen.

Endbenutzergeräte können Mainline-Updates über die Systemaktualisierungsfunktion von Android Google Play (die auf der Google Play Store-Infrastruktur ausgeführt wird) oder über einen von Partnern bereitgestellten OTA-Mechanismus (Over-the-Air) erhalten.

Die Architektur

Mainline wandelt ausgewählte Systemkomponenten in Module um. Die in Abbildung 1 dargestellte modulare Architektur ermöglicht die Aktualisierung von Systemkomponenten mit kritischen Fehlerbehebungen und anderen Verbesserungen nach Bedarf, ohne dass die Implementierungen von Anbietern auf niedrigerer Ebene oder Anwendungen und Dienste auf höherer Ebene beeinträchtigt werden.

Mainline-Architektur

Abbildung 1. Mainline-Architektur

Modulaktualisierungen führen keine neuen APIs ein. Sie verwenden nur die von der Compatibility Test Suite (CTS) garantierten SDK- und System-APIs, kommunizieren nur untereinander und verwenden nur stabile C-APIs oder stabile AIDL-Schnittstellen .

Modulaktualisierungen

Einige Mainline-Module verwenden das APEX-Containerformat (eingeführt in Android 10) und andere das APK-Format.

Aktualisierte Mainline-Module können zusammengestellt und auf Endbenutzergeräte übertragen werden, entweder von Google mithilfe der Systemaktualisierungsfunktion von Google Play oder vom Android-Partner mithilfe eines vom Partner bereitgestellten OTA-Mechanismus. Das Modulpaket wird atomar installiert und zurückgesetzt. Entweder werden alle Module aktualisiert, die aktualisiert werden müssen, oder keines wird aktualisiert.

Verfügbare Module

Modulname Paketnamen Typ Veröffentlichung eingeführt
AdServices Mehrere Mehrere Android 13
add com.android.adbd APEX Android 11
Android-Gesundheit APEX Android 14
AppSearch com.android.appsearch APEX Android 13
KUNST com.android.art APEX Android 12
Bluetooth APEX Android 13
CellBroadcast com.android.cellbroadcast APEX Android 11
Infrastruktur konfigurieren com.android.configinfrastructure APEX Android 14
Verschlüsseln com.android.conscrypt APEX Android 10
Geräteplanung com.android.scheduling APEX Android 12
DNS-Resolver com.android.resolv APEX Android 10
DocumentsUI com.android.documentsui APK Android 10
ExtServices com.android.ext.services APK (Android 10)
APEX (Android 11)
Android 10
IPsec/IKEv2-Bibliothek com.android.ipsec APEX Android 11
Medien Medien: com.android.media

Mediencodecs: com.android.media.swcodec
APEX Android 10 (Extraktoren, MediaSession API)
Android 11 (MediaParser-API)
Medienanbieter com.android.mediaprovider APEX Android 11
Modulmetadaten com.android.modulemetadata APK Android 10
Netzwerkstapel Netzwerk-Stack-Berechtigungskonfiguration: com.android.networkstack.permissionconfig

Captive Portal-Anmeldung: com.android.captiveportallogin

Netzwerkkomponenten: com.android.networkstack
APK Android 10
NNAPI-Laufzeit com.android.neuralnetworks APK Android 11
OnDevicePersonalization-Laufzeit Mehrere Mehrere Android 13
PermissionController com.android.permissioncontroller APK Android 10
Remote-Schlüsselbereitstellung com.android.rkpd APEX Android 14
SDK-Erweiterungen com.android.sdkext APEX Android 11
Statistik com.android.os.statsd APEX Android 11
Anbindung com.android.tethering APEX Android 11
Zeitzonendaten com.android.tzdata APEX Android 10
UWB com.android.uwb APEX Android 13
W-lan com.android.wifi APEX Android 11