Android 10 a introduit Mainline (anciennement appelé composants système modulaires sur ce site). Mainline modularise certains composants du système Android et permet leur mise à jour en dehors du cycle normal de publication d'Android. Cela permet à Google et aux partenaires Android de distribuer des mises à jour de manière large, rapide et fluide aux appareils des utilisateurs finaux, sans être intrusifs.
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 OTA (Over-The-Air) fourni par un partenaire.
Architecture
Mainline convertit certains composants système en modules. L'architecture modulaire illustrée à la figure 1 permet de mettre à jour les composants du système avec des correctifs de bugs critiques et d'autres améliorations, selon les besoins, sans affecter les implémentations des fournisseurs de niveau inférieur ni les applications et services de niveau supérieur.
Figure 1 : Architecture Mainline
Les mises à jour des modules n'introduisent pas de nouvelles API. Ils n'utilisent que le 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 des modules
Certains modules Mainline utilisent le format de conteneur APEX (introduit dans Android 10) et d'autres utilisent le format APK.
Les modules Mainline mis à jour peuvent être regroupés et envoyés aux 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 revient en arrière de manière atomique : soit tous les modules qui doivent être mis à jour le sont, soit aucun ne l'est.
Modules disponibles
Nom du module | Nom du package | Saisie | Version introduite |
---|---|---|---|
AdServices | com.google.android.adservices |
APEX | Android 13 |
adbd | com.android.adbd |
APEX | Android 11 |
Android Health | 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 Config | com.android.configinfrastructure |
APEX | Android 14 |
Conscrypt | com.android.conscrypt |
APEX | Android 10 |
Programmation 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 |
Runtime 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 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 |