Un'immagine di sistema generica (GSI) è un' Android pura implementazione con codice Android Open Source Project (AOSP) non modificato, eseguibile su una varietà di dispositivi Android.
Gli sviluppatori di app possono installare ed eseguire le ultime GSI di Android per eseguire test delle app su una varietà di dispositivi Android esistenti e utilizzando GSI di diverse fasi di rilascio del sistema operativo Android, incluse le build di Anteprima per gli sviluppatori e beta. L'aggiunta di GSI ai processi di verifica e test può offrire alcuni vantaggi aggiuntivi:
- Copertura dei test più ampia su un insieme più ampio di dispositivi reali
- Più tempo per risolvere i problemi di compatibilità delle app
- Più opportunità per risolvere i problemi di compatibilità in Android segnalati dagli sviluppatori di app
Il progetto GSI è open source e contribuisce a migliorare l'ecosistema Android fornendo più modi per migliorare la qualità delle app e del sistema operativo prima di ogni release di Android.
Le GSI includono le stesse funzionalità di sistema di base per tutti i dispositivi su cui sono installate. In altre parole, una GSI non include le personalizzazioni del produttore del dispositivo. Per questo motivo, potresti riscontrare differenze di comportamento nelle seguenti situazioni:
- Interazioni che coinvolgono l'interfaccia utente
- Flussi di lavoro che richiedono funzionalità hardware più recenti
Controllare la conformità del dispositivo
Le GSI possono funzionare solo su dispositivi con le seguenti caratteristiche:
- Il bootloader è sbloccato.
- Pienamente conforme a Treble.
- Lanciato con Android 9 (livello API 28) o versioni successive. I dispositivi aggiornati ad Android 9 da una versione precedente potrebbero supportare o meno le GSI.
Per determinare se il tuo dispositivo può utilizzare una GSI e quale versione del sistema operativo GSI devi installare, procedi nel seguente modo:
Controlla il supporto di Treble eseguendo il seguente comando:
adb shell getprop ro.treble.enabled
Se la risposta è
false, il dispositivo non è compatibile con le GSI e non devi continuare. Se la risposta ètrue, vai al passaggio successivo.Controlla il supporto tra versioni eseguendo il seguente comando:
adb shell cat /system/etc/ld.config.version_identifier.txt \ | grep -A 20 "\[vendor\]"
Nell'output, cerca
namespace.default.isolatednella sezione[vendor].Se il valore di questo attributo è
true, il dispositivo supporta completamente il Vendor Native Development Kit (VNDK) e può utilizzare qualsiasi versione del sistema operativo (OS) GSI più recente della versione del sistema operativo sul dispositivo. Quando possibile, utilizza l'ultima versione del sistema operativo GSI disponibile.Se il valore dell'attributo è
false, il dispositivo non è completamente conforme a VNDK e può utilizzare solo una GSI per la stessa versione del sistema operativo sul dispositivo. Ad esempio, un dispositivo Android 10 (versione API 29) non conforme a VNDK può caricare solo un'immagine GSI di Android 10.Il tipo di architettura della CPU GSI deve corrispondere all'architettura della CPU del dispositivo. Per trovare l'architettura della CPU corretta per l'immagine GSI, esegui il seguente comando:
adb shell getprop ro.product.cpu.abi
Utilizza l'output per determinare quale immagine GSI utilizzare durante il flashing del dispositivo. Ad esempio, su un Pixel 5, l'output indicherebbe che l'architettura della CPU è
arm64-v8a, quindi utilizzeresti il tipo di GSIarm64.
Scaricare le GSI
Esistono diversi modi per ottenere le GSI, a seconda delle esigenze di sviluppo:
- Per le GSI di anteprima di Android e le GSI di Android con GMS, scarica le immagini da questa pagina di rilascio delle GSI.
Per le immagini GSI precompilate senza applicazioni GMS, scarica le immagini dal sito AOSP CI:
Per creare GSI di Android senza GMS, scarica il codice sorgente da AOSP e crea le tue GSI.
Installare una GSI
L'installazione di una GSI dipende dal dispositivo. Per gli strumenti e le procedure esatti, consulta il produttore del dispositivo. Per i dispositivi Google Pixel, come Pixel 3 e modelli successivi, esistono diversi modi per eseguire l'installazione:
- Eseguire manualmente il flashing delle immagini GSI: vedi Requisiti per il flashing delle GSI
- Utilizzare l'aggiornamento dinamico del sistema (DSU) per i dispositivi che eseguono già Android 10 o versioni successive: vedi la pagina Aggiornamenti dinamici del sistema
Inviare feedback
Le GSI sono progettate per aiutarti a convalidare le tue app su Android. Apprezziamo il tuo feedback sulle immagini, sugli strumenti e sulla procedura per l'utilizzo delle GSI sui tuoi dispositivi.
Per segnalare bug o richieste di funzionalità, utilizza il componente Issue Tracker dedicato per le GSI.