Android 10 a introduit Mainline (anciennement appelé "composants système modulaires" sur ce site). La branche principale modularise certains composants du système Android et permet leur mise à jour en dehors du cycle de publication normal d'Android. Cela permet à Google et aux partenaires Android de distribuer des mises à jour de manière large, rapide et fluide sur les appareils des utilisateurs finaux, de manière non intrusive.
Les appareils des utilisateurs finaux peuvent recevoir des mises à jour Mainline à partir de la fonctionnalité de mise à jour du système Android Google Play (qui s'exécute sur l'infrastructure du Google Play Store) ou via un mécanisme Over The Air (OTA) fourni par un partenaire.
Architecture
Mainline convertit les composants système sélectionnés en modules. L'architecture modulaire illustrée à la figure 1 permet de mettre à jour les composants système avec des corrections de bugs critiques et d'autres améliorations si nécessaire, sans affecter les implémentations de fournisseurs de niveau inférieur ni les applications et services de niveau supérieur.
Figure 1 : Architecture principale
Les mises à jour de module n'introduisent pas de nouvelles API. Ils n'utilisent que les SDK et les API système garantis par la Compatibility Test Suite (CTS), ne communiquent qu'entre eux et n'utilisent que des API C stables ou des interfaces AIDL stables.
Mises à jour du module
Certains modules principaux utilisent le format de conteneur APEX (introduit dans Android 10) et d'autres le format APK.
Les modules principaux mis à jour peuvent être empaquetés et transférés vers les appareils des utilisateurs finaux, soit par Google à l'aide de la fonctionnalité de mise à jour du système Google Play, soit par le partenaire Android à l'aide d'un mécanisme OTA fourni par le partenaire. Le package de module s'installe et se rétablit de manière atomique. Tous les modules à mettre à jour sont mis à jour ou aucun ne l'est.
Modules disponibles
Nom du module | Nom du package | Type | Version introduite |
---|---|---|---|
AdServices | com.google.android.adservices |
APEX | Android 13 |
adbd | com.android.adbd |
APEX | Android 11 |
Santé Android | 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 |
Infrastructure de configuration | com.android.configinfrastructure |
APEX | Android 14 |
Conscrypt | com.android.conscrypt |
APEX | Android 10 |
Planification des appareils | com.android.scheduling |
APEX | Android 12 |
Résolveur DNS | 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 |
Bibliothèque IPsec/IKEv2 | com.android.ipsec |
APEX | Android 11 |
Multimédia | Média: com.android.media Codecs multimédias: com.android.media.swcodec |
APEX | Android 10 (extracteurs, API MediaSession)
Android 11 (API MediaParser) |
MediaProvider | com.android.mediaprovider |
APEX | Android 11 |
ModuleMetadata | com.android.modulemetadata |
APK | Android 10 |
Pile réseau | Configuration des autorisations de la pile réseau: com.android.networkstack.permissionconfig Connexion au portail captif: com.android.captiveportallogin Composants réseau: com.android.networkstack |
APK | Android 10 |
Environnement d'exécution NNAPI | com.android.neuralnetworks |
APK | Android 11 |
Environnement d'exécution OnDevicePersonalization |
Fonctionnalité principale du package: com.google.android.ondevicepersonalization (APEX)Fonctionnalité de l'API OnDevicePersonalization: com.google.android.ondevicepersonalization (APK)Fonctionnalité des API FederatedCompute: com.google.android.federatedcompute (APK)
|
APEX et APK | Android 13 |
PermissionController | com.android.permissioncontroller |
APK | Android 10 |
Provisionnement de clés à distance | com.android.rkpd |
APEX | Android 14 |
Extensions du SDK | com.android.sdkext |
APEX | Android 11 |
Statsd | com.android.os.statsd |
APEX | Android 11 |
Partage de connexion | com.android.tethering |
APEX | Android 11 |
Données de fuseau horaire | com.android.tzdata |
APEX | Android 10 |
UWB | com.android.uwb |
APEX | Android 13 |
Wi-Fi | com.android.wifi |
APEX | Android 11 |