Android 10 ha introdotto Mainline (precedentemente chiamato componenti di sistema modulari su questo sito). Mainline modularizza alcuni componenti del sistema Android e consente loro di essere aggiornati al di fuori del normale ciclo di rilascio di Android. Ciò consente ai partner Google e Android di distribuire gli aggiornamenti in modo ampio, rapido e trasparente ai dispositivi degli utenti finali in modo non intrusivo.
I dispositivi degli utenti finali possono ricevere gli aggiornamenti Mainline dalla funzione di aggiornamento del sistema Android Google Play (che viene eseguita sull'infrastruttura Google Play Store) o tramite un meccanismo OTA (over-the-air) fornito dai partner.
Architettura
Mainline converte i componenti del sistema selezionati in moduli . L'architettura modulare mostrata nella Figura 1 consente l'aggiornamento dei componenti del sistema con correzioni di bug critici e altri miglioramenti secondo necessità, senza influenzare le implementazioni dei fornitori di livello inferiore o le app e i servizi di livello superiore.
Figura 1. Architettura principale
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 del modulo
Alcuni moduli Mainline utilizzano il formato contenitore APEX (introdotto in Android 10) e alcuni utilizzano il formato APK.
I moduli Mainline aggiornati possono essere raggruppati insieme 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 si installa e ripristina in modo atomico; vengono aggiornati tutti i moduli che necessitano di essere aggiornati oppure nessuno viene aggiornato.
Moduli disponibili
Nome del modulo | Nome del pacchetto | Tipo | Introdotta la versione |
---|---|---|---|
Servizi pubblicitari | Molteplici | Molteplici | Androide 13 |
add | com.android.adbd | APICE | Androide 11 |
Salute Android |
| APICE | Androide 14 |
RicercaApp | com.android.appsearch | APICE | Androide 13 |
ARTE | com.android.art | APICE | Androide 12 |
Bluetooth |
| APICE | Androide 13 |
Cella di trasmissione | com.android.cellbroadcast | APICE | Androide 11 |
Infrastruttura di configurazione | com.android.configinfrastructure | APICE | Androide 14 |
Coscrypt | com.android.conscrypt | APICE | Androide 10 |
Pianificazione del dispositivo | com.android.scheduling | APICE | Androide 12 |
Risolutore DNS | com.android.resolv | APICE | Androide 10 |
DocumentsUI | com.android.documentsui | APK | Androide 10 |
ExtServices | com.android.ext.services | APK (Android 10) APEX (Android 11) | Androide 10 |
Libreria IPsec/IKEv2 | com.android.ipsec | APICE | Androide 11 |
Media | Supporti: com.android.media Codec multimediali: com.android.media.swcodec | APICE | Android 10 (estrattori, API MediaSession) Android 11 (API MediaParser) |
MediaProvider | com.android.mediaprovider | APICE | Androide 11 |
Metadati del modulo | com.android.modulemetadata | APK | Androide 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 | Androide 10 |
Runtime NNAPI | com.android.neuralnetworks | APK | Androide 11 |
Runtime di personalizzazione OnDevice | Molteplici | Molteplici | Androide 13 |
PermissionController | com.android.permissioncontroller | APK | Androide 10 |
Fornitura di chiavi remote | com.android.rkpd | APICE | Androide 14 |
Estensioni dell'SDK | com.android.sdkext | APICE | Androide 11 |
Statistiche | com.android.os.statsd | APICE | Androide 11 |
Legatura | com.android.tethering | APICE | Androide 11 |
Dati sul fuso orario | com.android.tzdata | APICE | Androide 10 |
UWB | com.android.uwb | APICE | Androide 13 |
Wifi | com.android.wifi | APICE | Androide 11 |