Immagini di sistema generiche

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

Gli sviluppatori di app possono installare ed eseguire le ultime GSI Android per eseguire test delle app su una serie di dispositivi Android esistenti e utilizzando GSI di diverse fasi di rilascio del sistema operativo Android, tra cui le build Anteprima per gli sviluppatori e beta. L'aggiunta di GSI ai processi di verifica e test può offrirti alcuni vantaggi aggiuntivi:

  • Copertura dei test più ampia su un maggior numero 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.

Supporto GSI su tutti i dispositivi
Figura 1: le GSI possono essere installate su un'ampia gamma di dispositivi e a volte anche per versioni di Android per cui un produttore di dispositivi non fornisce la propria immagine di sistema.

Le GSI includono le stesse funzionalità di base del sistema 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 la UI
  • 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.
  • Completamente 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, segui questi passaggi:

  1. Controlla il supporto di Treble eseguendo questo 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.

  2. 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.isolated nella sezione [vendor].

    Se il valore di questo attributo è true, il dispositivo supporta completamente 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 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.

  3. Il tipo di architettura della CPU della GSI deve corrispondere a quella del dispositivo. Per trovare l'architettura della CPU corretta per l'immagine GSI, esegui questo comando:

    adb shell getprop ro.product.cpu.abi

    Utilizza l'output per determinare quale immagine GSI utilizzare durante il flashing del tuo dispositivo. Ad esempio, su Pixel 5, l'output indicherebbe che l'architettura della CPU è arm64-v8a, quindi utilizzeresti il tipo di GSI arm64.

Scarica GSI

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

Installare un GSI

L'installazione di una GSI dipende dal dispositivo. Rivolgiti al produttore del dispositivo per gli strumenti e le procedure esatti. Per i dispositivi Google Pixel come Pixel 3 e modelli più recenti, esistono diversi modi per installare:

Invia feedback

Le GSI hanno lo scopo di aiutarti a convalidare le tue app su Android. Ti ringraziamo per il tuo feedback sulle immagini, sugli strumenti e sulla procedura per l'utilizzo delle immagini di sistema generiche sui tuoi <x0A>dispositivi.

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

Risorse aggiuntive