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.
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 |