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 release di Android. In questo modo, Google e i partner Android possono distribuire gli aggiornamenti in modo ampio, rapido e senza interruzioni ai dispositivi degli utenti finali in modo non intrusivo.

I dispositivi degli utenti finali possono ricevere gli aggiornamenti di Mainline tramite la funzionalità di aggiornamento del sistema Android Google Play (che viene eseguita sull'infrastruttura di Google Play Store) o tramite un meccanismo OTA (Over-the-Air) 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, se necessario, senza influire sulle implementazioni dei fornitori di livello inferiore o sulle app e sui servizi di livello superiore.

Architettura
Mainline

Figura 1. Architettura di Mainline

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

Aggiornamenti dei moduli

Alcuni moduli Mainline utilizzano il formato del 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 sottoposto a rollback 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
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.bt APEX Android 13
CellBroadcast com.android.cellbroadcast APEX Android 11
Config Infrastructure com.android.configinfrastructure APEX Android 14
Conscrypt com.android.conscrypt APEX Android 10
Device Scheduling com.android.scheduling APEX Android 12
DNS Resolver 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

Media Codecs: 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
Network Stack Network Stack Permission Configuration: com.android.networkstack.permissionconfig

Captive Portal Login: com.android.captiveportallogin

Network Components: com.android.networkstack
APK Android 10
NNAPI Runtime 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
Remote Key Provisioning 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
Time Zone Data com.android.tzdata APEX Android 10
UWB com.android.uwb APEX Android 13
Wi-Fi com.android.wifi APEX Android 11