Un'immagine di sistema generica (GSI) è un'implementazione di Android puro con codice Android Open Source Project (AOSP) non modificato, eseguibile su una serie di dispositivi Android.
Gli sviluppatori di app possono installare ed eseguire le ultime GSI di Android per eseguire il testing delle app su una serie di dispositivi Android esistenti e utilizzare le GSI di diversi stadi di rilascio del sistema operativo Android, tra cui le build Developer Preview e Beta. L'aggiunta di GSI alle procedure di verifica e test può offrirti 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 offrendo 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, un 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
- Workflow che richiedono funzionalità hardware più recenti
Verifica la conformità del dispositivo
Le GSI possono funzionare solo su dispositivi con le seguenti caratteristiche:
- Il bootloader è sbloccato.
- Completamente conforme a Treble.
- Lanciato con Android 9 (livello API 28) o versioni successive. I dispositivi su cui è stato eseguito l'upgrade ad Android 9 da una versione precedente potrebbero o meno supportare le immagini generiche di sistema.
Per determinare se il tuo dispositivo può utilizzare un GSI e quale versione del sistema operativo GSI devi installare:
Controlla se è supportato Treble eseguendo il seguente comando:
adb shell getprop ro.treble.enabled
Se la risposta è
false
, il dispositivo non è compatibile con le ISF e non devi continuare. Se la risposta ètrue
, vai al passaggio successivo.Controlla se è supportata la compatibilità 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.isolated
nella sezione[vendor]
.Se il valore dell'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. Se possibile, utilizza la versione più recente del sistema operativo GSI disponibile.Se il valore dell'attributo è
false
, il dispositivo non è completamente conforme a VNDK e può utilizzare solo un GSI per la stessa versione del sistema operativo on-device. 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 a quello della CPU del dispositivo. Per trovare l'architettura 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 per il flashing del dispositivo. Ad esempio, su Pixel 5 l'output indica che l'architettura della CPU è
arm64-v8a
, quindi devi utilizzare il tipoarm64
di GSI.
Scaricare i GSI
Esistono diversi modi per ottenere gli indicatori GSI, a seconda delle tue esigenze di sviluppo:
- Per le immagini GSI di Android Preview e Android con GMS, scaricale dalla pagina di rilascio GSI.
Per le immagini GSI predefinite senza applicazioni GMS, scaricale dal sito AOSP CI:
Per compilare GSI di Android senza GMS, scarica il codice sorgente da AOSP e compila i tuoi GSI.
Installare un GSI
L'installazione di un 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 installare:
- Eseguire il flashing manuale delle immagini GSI: vedi Requisiti per il flashing delle immagini GSI
- Utilizzo dell'aggiornamento di sistema dinamico (DSU) per i dispositivi che eseguono già Android 10 o versioni successive: consulta la pagina Aggiornamenti di sistema dinamici
Invia feedback
Le GSI hanno lo scopo di aiutarti a convalidare le tue app su Android. Apprezziamo il tuo feedback sulle immagini, sugli strumenti e sulla procedura di utilizzo delle GSI sui tuoi dispositivi.
Per informarci di bug o richieste di funzionalità, utilizza il componente Issue Tracker dedicato per i GSI.