Android 10 ha introdotto Mainline (in precedenza chiamato Componenti di sistema modulari su questo sito). La versione principale modularizza alcuni componenti del sistema Android e consente di aggiornarli al di fuori del normale ciclo di rilascio di Android. In questo modo, i partner di Google e Android possono distribuire gli aggiornamenti in modo ampio, rapido e senza problemi sui dispositivi degli utenti finali in modo non invadente.
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 critiche e altri miglioramenti, se necessario, senza influire sulle implementazioni dei fornitori di livello inferiore o su app e servizi di livello superiore.
Figura 1. Architettura principale
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 di loro e utilizzano solo API C stabili o interfacce 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 di sistema di 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.
Moduli disponibili
Nome modulo | Nome pacchetto | Digitazione | Introduzione della release |
---|---|---|---|
AdServices | Più di uno | Più di uno | Android 13 |
adbd | com.android.adbd |
APEX | Android 11 |
Android Salute |
|
APEX | Android 14 |
Ricerca di app | com.android.appsearch |
APEX | Android 13 |
ARTE | com.android.art |
APEX | Android 12 |
Bluetooth |
|
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 |
Servizi esterni | com.android.ext.services |
APK (Android 10)
APEX (Android 11) |
Android 10 |
Raccolta IPsec/IKEv2 | com.android.ipsec |
APEX | Android 11 |
Media | Contenuti multimediali: com.android.media Codec multimediali: com.android.media.swcodec |
APEX | Android 10 (estrattori, API MediaSession)
Android 11 (API MediaParser) |
MediaProvider | com.android.mediaprovider |
APEX | Android 11 |
ModuleMetadata | com.android.modulemetadata |
APK | Android 10 |
Stack di rete | Configurazione delle autorizzazioni dello stack di rete: com.android.networkstack.permissionconfig Accesso al portale captive: com.android.captiveportallogin Componenti di rete: com.android.networkstack |
APK | Android 10 |
NNAPI Runtime | com.android.neuralnetworks |
APK | Android 11 |
Runtime OnDevicePersonalization | Più di uno | Più di uno | Android 13 |
Titolare di autorizzazioni | com.android.permissioncontroller |
APK | Android 10 |
Provisioning delle chiavi da remoto | com.android.rkpd |
APEX | Android 14 |
Estensioni SDK | com.android.sdkext |
APEX | Android 11 |
Statsd | com.android.os.statsd |
APEX | Android 11 |
Tethering | com.android.tethering |
APEX | Android 11 |
Dati fuso orario | com.android.tzdata |
APEX | Android 10 |
UWB | com.android.uwb |
APEX | Android 13 |
Wi-Fi | com.android.wifi |
APEX | Android 11 |