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 umfassend, schnell und nahtlos auf Endnutzergeräte 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.
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 auf die Geräte der Endnutzer übertragen 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 |
---|---|---|---|
Werbedienste | Mehrere | Mehrere | Android 13 |
adbd | com.android.adbd |
APEX | Android 11 |
Android-Gesundheit |
|
APEX | Android 14 |
App-Suche | com.android.appsearch |
APEX | Android 13 |
ART | com.android.art |
APEX | Android 12 |
Bluetooth |
|
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) |
Mediaanbieter | com.android.mediaprovider |
APEX | Android 11 |
Modul-Metadaten | 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 | Mehrere | Mehrere | 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 |
Statistik | 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 |