Ligne principale

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.

Architecture Mainline

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