Mainline

Mit Android 10 wurde Mainline eingeführt (früher auf dieser Website als modulare Systemkomponenten bezeichnet). Mainline modularisiert einige Android-Systemkomponenten und ermöglicht für sie Updates außerhalb des normalen Android-Releasezyklus. So können Google und Android-Partner Updates auf möglichst breiter Basis, schnell und nahtlos auf Endnutzergeräten verteilen, ohne Nutzer zu belästigen.

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

Architektur

Mainline wandelt ausgewählte Systemkomponenten in Module um. Die modulare Architektur in Abbildung 1 ermöglicht es, Systemkomponenten bei Bedarf mit wichtigen Fehlerkorrekturen und anderen Verbesserungen zu aktualisieren, ohne dass sich dies auf Anbieterimplementierungen der unteren Ebene oder auf Apps und Dienste der höheren Ebene auswirkt.

Mainline-Architektur

Abbildung 1: Mainline-Architektur

Durch Modulupdates werden keine neuen APIs eingeführt. Sie verwenden nur die SDK- und System-APIs, die von der Compatibility Test Suite (CTS) garantiert werden, kommunizieren nur miteinander und verwenden nur stabile C-APIs oder stabile AIDL-Schnittstellen.

Modulaktualisierungen

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

Aktualisierte Mainline-Module können entweder von Google über die Google Play-Systemaktualisierungsfunktion oder vom Android-Partner über einen vom Partner bereitgestellten OTA-Mechanismus verpackt und an die Geräte der Endnutzer gesendet werden. Das Modulpaket wird atomar installiert und rückgängig gemacht. Entweder werden alle Module aktualisiert, die aktualisiert werden müssen, oder keines.

Verfügbare Module

Modulname Paketname Eingeben Einführung des Release
AdServices com.google.android.adservices APEX Android 13
adbd com.android.adbd APEX Android 11
Android-Gesundheit com.google.android.healthfitness APEX Android 14
AppSearch com.android.appsearch APEX Android 13
ART com.android.art APEX Android 12
Bluetooth com.google.android.btservices APEX Android 13
CellBroadcast com.android.cellbroadcast APEX Android 11
Config Infrastructure com.android.configinfrastructure APEX Android 14
Conscrypt 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

Medien-Codecs: com.android.media.swcodec
APEX Android 10 (Extractors, MediaSession API)
Android 11 (MediaParser API)
MediaProvider com.android.mediaprovider APEXAndroid 11
ModuleMetadata com.android.modulemetadata APK Android 10
Netzwerkstack Konfiguration der Netzwerkstack-Berechtigungen: com.android.networkstack.permissionconfig

Anmeldung im Captive Portal: com.android.captiveportallogin

Netzwerkkomponenten: com.android.networkstack
APK Android 10
NNAPI-Laufzeit com.android.neuralnetworks APK Android 11
OnDevicePersonalization-Laufzeit Hauptfunktionen des Pakets: com.google.android.ondevicepersonalization (APEX)

OnDevicePersonalization API-Funktionen: com.google.android.ondevicepersonalization (APK)

FederatedCompute APIs-Funktionen: com.google.android.federatedcompute (APK)
APEX und APK Android 13
PermissionController com.android.permissioncontroller APK Android 10
Remote Key Provisioning com.android.rkpd APEX Android 14
SDK-Erweiterungen com.android.sdkext APEX Android 11
Statsd com.android.os.statsd APEX Android 11
Tethering com.android.tethering APEX Android 11
Zeitzonendaten com.android.tzdata APEX Android 10
UWB com.android.uwb APEX Android 13
WLAN com.android.wifi APEX Android 11