Mantieni tutto organizzato con le raccolte
Salva e classifica i contenuti in base alle tue preferenze.
Un'immagine di sistema generica (GSI) è un'implementazione di Android puro 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, incluse le build di anteprima per gli sviluppatori e beta. L'aggiunta
di GSI alle procedure di verifica e test può offrirti alcuni vantaggi
aggiuntivi:
Copertura dei test più ampia su un numero maggiore 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.
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 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.
Completamente conforme a Treble.
Lanciato con Android 9 (livello API 28) o versioni successive. I dispositivi di cui è stato eseguito l'upgrade 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:
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.
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
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 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 Android 10.
Il tipo di architettura della CPU della GSI deve corrispondere a quella della CPU 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 dispositivo. Ad esempio, su Pixel 5, l'output indicherebbe che l'architettura della CPU
è arm64-v8a, quindi utilizzeresti il tipo di GSI arm64.
Scaricare le GSI
Esistono diversi modi per ottenere GSI, a seconda delle tue esigenze di sviluppo:
Per le GSI di anteprima di Android e le GSI di Android con GMS, scarica le immagini dalla
pagina di rilascio delle GSI.
Per le immagini GSI predefinite senza applicazioni GMS, scarica le immagini dal sito CI di AOSP:
Per creare GSI Android senza GMS, scarica il codice sorgente da
AOSP e crea
le tue GSI.
Installare un'immagine di sistema generica
L'installazione di una GSI dipende dal dispositivo. Per gli strumenti e le procedure esatti, rivolgiti al produttore del dispositivo. Per i dispositivi Google Pixel come Pixel 3 e
modelli più recenti, esistono diversi modi per installare:
Utilizzo dell'aggiornamento dinamico del sistema (DSU) per i dispositivi che eseguono già Android 10 o versioni successive: consulta la pagina Aggiornamenti dinamici del sistema.
Invia feedback
Le immagini di sistema generiche 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 le immagini generate con l'IA sui tuoi
dispositivi.
I campioni di contenuti e codice in questa pagina sono soggetti alle licenze descritte nella Licenza per i contenuti. Java e OpenJDK sono marchi o marchi registrati di Oracle e/o delle sue società consociate.
Ultimo aggiornamento 2025-08-25 UTC.
[[["Facile da capire","easyToUnderstand","thumb-up"],["Il problema è stato risolto","solvedMyProblem","thumb-up"],["Altra","otherUp","thumb-up"]],[["Mancano le informazioni di cui ho bisogno","missingTheInformationINeed","thumb-down"],["Troppo complicato/troppi passaggi","tooComplicatedTooManySteps","thumb-down"],["Obsoleti","outOfDate","thumb-down"],["Problema di traduzione","translationIssue","thumb-down"],["Problema relativo a esempi/codice","samplesCodeIssue","thumb-down"],["Altra","otherDown","thumb-down"]],["Ultimo aggiornamento 2025-08-25 UTC."],[],[],null,["# Generic System Images (GSIs)\n\nA Generic System Image ([GSI](https://source.android.com/setup/build/gsi)) is a\n*pure Android* implementation with unmodified Android Open Source Project (AOSP)\ncode, runnable on a variety of Android devices.\n\nApp developers can install and run the latest Android GSIs to perform app\ntesting on a variety of existing Android devices and using GSIs from different\nAndroid OS release stages, including Developer Preview and Beta builds. Adding\nGSIs to your verification and testing processes can provide you with some extra\nbenefits:\n\n- Broader test coverage on a greater set of real devices\n- More time to fix app compatibility issues\n- More opportunities to fix compatibility issues in Android that are reported by app developers\n\nThe GSI project is [open\nsource](https://android.googlesource.com/platform/manifest/+/refs/heads/pie-gsi#)\nand helps improve the Android ecosystem by providing more ways to improve app\nand OS quality before each release of Android.\n**Figure 1**: GSIs can be installed across a broad range of devices, and sometimes even for versions of Android that a device manufacturer doesn't provide their own system image for.\n\nGSIs include the same core system functionalities for all devices that they're\ninstalled on. In other words, a GSI does not include device manufacturer's\ncustomizations. Because of this, you might encounter behavioral differences in\nthe following situations:\n\n- Interactions that involve the UI\n- Workflows that request newer hardware features\n\nCheck device compliance\n-----------------------\n\nGSIs can only function on devices with the following characteristics:\n\n- Bootloader is unlocked.\n- Fully Treble-compliant.\n- Launched with Android 9 (API level 28) or higher. Devices upgraded to Android 9 from an earlier version might or might not support GSIs.\n\n| **Warning:** Attempting to flash a GSI to a non-compliant device could result in your device becoming non-bootable. Always confirm that your device is compliant before flashing, and follow the installation steps provided by your device's manufacturer. GSIs don't support rollback, so you will need a recovery method and original system ROM to revert to the original system.\n\nTo determine whether your device can use a GSI and which GSI OS version you\nshould install, do the following:\n\n1. Check for Treble support by running the following command:\n\n ```\n adb shell getprop ro.treble.enabled\n ```\n\n If the response is `false`, the device isn't compatible with GSIs and you\n shouldn't continue. If the response is `true`, continue to the next step.\n2. Check for cross-version support by running the following command:\n\n ```\n adb shell cat /system/etc/ld.config.version_identifier.txt \\\n | grep -A 20 \"\\[vendor\\]\"\n ```\n | **Note:** Depending on your platform, the configuration file in the preceding command may or may not have a version identifier in it.\n\n In the output, look in the `[vendor]` section for\n `namespace.default.isolated`.\n\n If the value for that attribute is `true`, then the device fully supports\n [Vendor Native Development Kit\n (VNDK)](https://source.android.com/devices/architecture/vndk) and can use\n any GSI operating system (OS) version that is newer than the on-device OS\n version. Whenever possible, use the latest GSI OS version that is available.\n\n If the value for the attribute is `false`, then the device isn't fully\n VNDK-compliant, and the device can use only a GSI for the same on-device OS\n version. For example, an Android 10 (API version 29) device that isn't\n VNDK-compliant can load only an Android 10 GSI image.\n3. The GSI CPU architecture type must match the device's CPU architecture. To\n find the right CPU architecture for the GSI image, run the following\n command:\n\n ```\n adb shell getprop ro.product.cpu.abi\n ```\n\n Use the output to determine which GSI image to use when flashing your\n device. For example, on a Pixel 5, the output would indicate that the CPU\n architecture is `arm64-v8a`, so you would use the `arm64` type of GSI.\n\nDownload GSIs\n-------------\n\nThere are a few ways to get GSIs, depending on your development needs:\n\n- For Android Preview GSIs and Android GSIs with GMS, download the images from the [GSI release page](/topic/generic-system-image/releases).\n- For pre-built GSI images without GMS applications, download the images from\n the AOSP CI site:\n\n - [Android 10 (API level\n 29)](https://ci.android.com/builds/branches/aosp-android10-gsi/grid?)\n - [Android 11 (API level\n 30)](https://ci.android.com/builds/branches/aosp-android11-gsi/grid?)\n - [Android 12 (API level\n 31)](https://ci.android.com/builds/branches/aosp-android12-gsi/grid?)\n - [Android 13 (API level\n 33)](https://ci.android.com/builds/branches/aosp-android13-gsi/grid?)\n- To build Android GSIs without GMS, download source code from\n [AOSP](https://source.android.com/setup/build/gsi#building-gsis) and build\n your GSIs.\n\n| **Important:** Device manufacturers shouldn't use these versions of GSIs to run and submit compliance tests. Instead, device manufacturers should continue to refer to their existing communication channels, such as their Technical Account Managers for compliance-test-related activities.\n\nInstall a GSI\n-------------\n\n| **Note:** If your device has adopted [Android Verified\n| Boot](https://source.android.com/security/verifiedboot/avb) (AVB), download and flash the following image to disable AVB before flashing a GSI: [vbmeta.img](https://dl.google.com/developers/android/qt/images/gsi/vbmeta.img)\n\nInstalling a GSI is device-dependent. Refer to your device's manufacturer for\nthe exact tools and procedures. For Google Pixel devices such as the Pixel 3 and\nnewer, there are several ways to install:\n\n- Manually flashing GSI images: see [Requirements for flashing GSIs](https://source.android.com/setup/build/gsi#flashing-gsis)\n- Using Dynamic System Update (DSU) for devices that already run Android 10 or higher: see the [Dynamic System Updates](/topic/dsu) page\n\nGive feedback\n-------------\n\nGSIs are intended to help you validate your apps on Android. We appreciate your\nfeedback on the images, the tools, and the process for using GSIs on your\ndevices.\n\nTo notify us of bugs or feature requests, use the [dedicated issue tracker\ncomponent](https://issuetracker.google.com/issues/new?component=470386&template=1147338)\nfor GSIs.\n\nAdditional resources\n--------------------\n\n- [Understand the impact of Generic System Images (GSI) (Android Dev Summit\n '18)](https://www.youtube.com/watch?v=Y-HmCIHD63w)"]]