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. Ciò consente a Google e ai partner Android di 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 dalla 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: vengono aggiornati tutti i moduli che devono essere aggiornati o nessuno di loro.

Moduli disponibili

Nome modulo Nome pacchetto Tipo Release introdotta
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
Configurazione dell'infrastruttura 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

Captive Portal Login: com.android.captiveportallogin

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

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

Funzionalità delle API FederatedCompute: com.google.android.federatedcompute (APK)
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