Immagini di sistema generiche (GSI)

Un'immagine di sistema generica (GSI) è un'implementazione di Android pura con codice Android Open Source Project (AOSP) non modificato, eseguibile su una varietà di dispositivi Android.

Gli sviluppatori di app possono installare ed eseguire i GSI Android più recenti per testare le app su una varietà di dispositivi Android esistenti e utilizzare GSI di diverse fasi di rilascio del sistema operativo Android, incluse build di anteprima per sviluppatori e beta. L'aggiunta dei GSI alle tue 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 fornendo più modi per migliorare la qualità delle app e del sistema operativo prima di ogni rilascio di Android.

Supporto di GSI su tutti i dispositivi
Figura 1: gli GSI possono essere installati su un'ampia gamma di dispositivi e talvolta anche sulle versioni di Android per le quali il produttore di dispositivi non fornisce una propria immagine di sistema.

Gli GSI includono le stesse funzionalità di base del sistema per tutti i dispositivi su cui sono installati. 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
  • Flussi di lavoro che richiedono funzionalità hardware più recenti

Verifica la conformità del dispositivo

Gli GSI possono funzionare solo su dispositivi con le seguenti caratteristiche:

  • Il bootloader è sbloccato.
  • Completamente conforme agli alti.
  • Sistema operativo 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 gli standard GSI.

Per determinare se il tuo dispositivo può utilizzare un GSI e quale versione del sistema operativo GSI dovresti installare, procedi nel seguente modo:

  1. Verifica la presenza del supporto di Treble eseguendo questo comando:

    adb shell getprop ro.treble.enabled

    Se la risposta è false, il dispositivo non è compatibile con GSI e non dovresti continuare. Se la risposta è true, vai al passaggio successivo.

  2. Verifica il supporto tra versioni eseguendo questo 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 di questo attributo è true, il dispositivo supporta completamente il Vendor Native Development Kit (VNDK) e può utilizzare qualsiasi versione del sistema operativo GSI più recente di quella 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 il dispositivo può utilizzare solo un GSI per la stessa versione del sistema operativo sul dispositivo. Ad esempio, un dispositivo Android 10 (API versione 29) non conforme a VNDK può caricare solo un'immagine GSI di Android 10.

  3. Il tipo di architettura della CPU GSI deve corrispondere all'architettura della CPU del dispositivo. Per trovare la giusta architettura della CPU per l'immagine GSI, esegui questo 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 un Pixel 5, l'output indicherebbe che l'architettura della CPU è arm64-v8a, quindi utilizzerai il tipo arm64 di GSI.

Scarica GSI

Esistono diversi modi per ottenere GSI, a seconda delle tue esigenze di sviluppo:

Installa un GSI

L'installazione di un GSI dipende dal dispositivo. Rivolgiti al produttore del dispositivo per conoscere gli strumenti e le procedure esatti. Sui dispositivi Google Pixel come Pixel 3 e i modelli successivi, ci sono diversi modi per installarlo:

Fornisci feedback

Gli GSI hanno lo scopo di aiutarti a convalidare le tue app su Android. Apprezziamo il tuo feedback sulle immagini, sugli strumenti e sulla procedura per utilizzare GSI sui tuoi dispositivi.

Per segnalarci bug o richieste di funzionalità, utilizza il componente Issue Tracker dedicato per GSI.

Risorse aggiuntive