Mainline

Android 10 ha introdotto Mainline (in precedenza chiamato componenti di sistema modulari su questo sito). Mainline modularizza alcuni componenti del sistema Android e consente di aggiornarli al di fuori del normale ciclo di rilascio di Android. In questo modo, Google e i partner Android possono distribuire gli aggiornamenti in modo ampio, rapido e senza problemi ai dispositivi degli utenti finali in modo non intrusivo.

I dispositivi degli utenti finali possono ricevere gli aggiornamenti Mainline dalla funzionalità di aggiornamento di sistema di Android Google Play (che viene eseguita sull'infrastruttura del Google Play Store) o tramite un meccanismo over-the-air (OTA) fornito dal partner.

Architettura

Mainline converte i componenti di sistema selezionati in moduli. L'architettura modulare mostrata nella Figura 1 consente di aggiornare i componenti di sistema con correzioni di bug critici e altri miglioramenti in base alle necessità, senza influire sulle implementazioni dei fornitori di livello inferiore o su app e servizi di livello superiore.

Architettura Mainline

Figura 1. Architettura mainline

Gli aggiornamenti dei moduli non introducono nuove API. Utilizzano solo l'SDK e le API di sistema garantite da Compatibility Test Suite (CTS), comunicano solo tra loro e utilizzano solo API C stabili o interfacce AIDL stabili.

Aggiornamenti dei moduli

Alcuni moduli Mainline utilizzano il formato contenitore APEX (introdotto in Android 10) e altri utilizzano il formato APK.

I moduli Mainline aggiornati possono essere raggruppati e inviati ai dispositivi degli utenti finali da Google, utilizzando la funzionalità di aggiornamento del sistema Google Play, o dal partner Android, utilizzando un meccanismo OTA fornito dal partner. Il pacchetto del modulo viene installato e ripristinato in modo atomico; tutti i moduli che devono essere aggiornati vengono aggiornati o nessuno viene aggiornato.

Moduli disponibili

Nome modulo Nome pacchetto Tipo Release introdotta
adbd com.android.adbd APEX Android 11
AdServices com.google.android.adservices APEX Android 13
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.bt APEX Android 13
CellBroadcast com.android.cellbroadcast APEX Android 11
Infrastruttura di configurazione com.android.configinfrastructure APEX Android 14
Conscrypt com.android.conscrypt APEX Android 10
Pianificazione dei dispositivi com.android.scheduling APEX Android 12
Resolver 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
IPsec/IKEv2 Library com.android.ipsec APEX Android 11
Media Media:
com.android.media

Codec multimediali:
com.android.media.swcodec
APEX Android 10 (estrattori, API MediaSession)
Android 11 (API MediaParser)
MediaProvider com.android.mediaprovider APEXAndroid 11
ModuleMetadata com.android.modulemetadata APK Android 10
Stack di rete Configurazione delle autorizzazioni dello stack di rete:
com.android.networkstack.permissionconfig

Accesso al captive portal:
com.android.captiveportallogin

Componenti di rete:
com.android.networkstack
APK Android 10
Runtime NNAPI com.android.neuralnetworks APK Android 11
OnDevicePersonalization Runtime Funzionalità principale per il pacchetto (APEX):
com.google.android.ondevicepersonalization

Funzionalità dell'API OnDevicePersonalization (APK):
com.google.android.ondevicepersonalization

Funzionalità delle API FederatedCompute (APK):
com.google.android.federatedcompute
APEX e APK Android 13
PermissionController com.android.permissioncontroller APK Android 10
Provisioning delle chiavi da remoto com.android.rkpd APEX Android 14
SDK Extensions com.android.sdkext APEX Android 11
Statsd com.android.os.statsd APEX Android 11
Tethering com.android.tethering APEX Android 11
Dati del fuso orario com.android.tzdata APEX Android 10
UWB com.android.uwb APEX Android 13
Wi-Fi com.android.wifi APEX Android 11