Restez organisé à l'aide des collections
Enregistrez et classez les contenus selon vos préférences.
Une image système générique (GSI) est une implémentation Android pure contenant du code de projet Android Open Source (AOSP) non modifié, qui s'exécute sur divers appareils Android.
Les développeurs d'applications peuvent installer et exécuter les dernières GSI Android pour tester des applications sur divers appareils Android existants et les utiliser à différentes étapes de publication de l'OS Android, y compris les versions Preview développeur et les versions bêta. L'ajout de GSI à vos processus de validation et de test présente des avantages potentiels supplémentaires :
Couverture plus étendue des tests sur un plus grand nombre d'appareils réels
Temps supplémentaire pour résoudre les problèmes de compatibilité des applications
Opportunités supplémentaires de résolution des problèmes de compatibilité Android signalés par les développeurs d'applications
Le projet GSI est Open Source. Il contribue à améliorer l'écosystème Android en offrant plus de moyens d'améliorer la qualité des applications et des systèmes d'exploitation avant chaque version d'Android.
Figure 1 : Les GSI peuvent être installées sur une large gamme d'appareils, et parfois même pour les versions d'Android pour lesquelles un fabricant d'appareil ne fournit pas sa propre image système.
Les GSI intègrent les mêmes fonctionnalités système principales pour tous les appareils sur lesquels elles sont installées. En d'autres termes, une GSI n'inclut pas les personnalisations du fabricant de l'appareil. C'est pourquoi vous pouvez rencontrer des différences de comportement dans les situations suivantes :
Interactions impliquant l'interface utilisateur
Workflows demandant des fonctionnalités matérielles plus récentes
Vérifier la conformité de l'appareil
Les GSI ne peuvent fonctionner que sur les appareils présentant les caractéristiques suivantes :
Bootloader déverrouillé
Prise en charge de Treble
Lancement avec Android 9 (niveau d'API 28) ou version ultérieure (les appareils mis à niveau vers Android 9 peuvent être compatibles ou non avec les GSI)
Pour déterminer si votre appareil peut utiliser les GSI et pour identifier la version de l'OS que vous devez installer pour les GSI, procédez comme suit :
Vérifiez la prise en charge de Treble en exécutant la commande suivante :
adb shell getprop ro.treble.enabled
Si la réponse est false, l'appareil n'est pas compatible avec les GSI et vous ne devez pas continuer. Si la réponse est true, passez à l'étape suivante.
Vérifiez la compatibilité entre les versions en exécutant la commande suivante :
adb shell cat /system/etc/ld.config.version_identifier.txt \
| grep -A 20 "\[vendor\]"
Dans le résultat, recherchez namespace.default.isolated dans la section [vendor].
Si la valeur de cet attribut est true, l'appareil est entièrement compatible avec le kit de développement natif pour les éditeurs (VNDK) et peut utiliser n'importe quelle version d'OS plus récente pour les GSI que la version d'OS de l'appareil. Dans la mesure du possible, utilisez la dernière version d'OS disponible pour les GSI.
Si la valeur de l'attribut est false, cela signifie que l'appareil n'est pas entièrement conforme au VNDK et qu'il ne peut utiliser la GSI que si la même version d'OS est présente sur l'appareil. Par exemple, un appareil Android 10 (API version 29) qui n'est pas compatible avec le VNDK ne peut charger qu'une image GSI Android 10.
Le type d'architecture du processeur GSI doit correspondre à l'architecture du processeur de l'appareil. Pour déterminer l'architecture de processeur adaptée à l'image GSI, exécutez la commande suivante :
adb shell getprop ro.product.cpu.abi
Reportez-vous à la sortie pour déterminer l'image GSI à utiliser lorsque vous flashez votre appareil. Par exemple, sur un Pixel 5, la sortie indique que l'architecture du processeur est arm64-v8a. Vous devez donc utiliser le type arm64 de GSI.
Télécharger des GSI
Il existe plusieurs façons d'obtenir des GSI, selon vos besoins de développement :
Les GSI des previews Android et les GSI Android avec GMS peuvent être téléchargées sur la page des versions GSI.
Pour les images GSI prédéfinies sans applications GMS, téléchargez les images à partir du site CI AOSP :
Pour générer des GSI Android sans GMS, téléchargez le code source depuis AOSP et créez vos GSI.
Installer une GSI
L'installation d'une GSI dépend de l'appareil. Contactez le fabricant de votre appareil pour connaître les outils et les procédures exacts. Pour les appareils Google Pixel tels que le Pixel 3 et les modèles plus récents, vous pouvez procéder de plusieurs manières pour installer une GSI :
Utiliser les mises à jour système dynamiques pour les appareils qui exécutent déjà Android 10 ou une version ultérieure : consultez la page des mises à jour système dynamiques.
Envoyer un commentaire
Les GSI sont conçues pour vous aider à valider vos applications sur Android. Vos commentaires sur les images, les outils et le processus d'activation des GSI sur vos appareils sont les bienvenus.
Le contenu et les exemples de code de cette page sont soumis aux licences décrites dans la Licence de contenu. Java et OpenJDK sont des marques ou des marques déposées d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2025/08/25 (UTC).
[[["Facile à comprendre","easyToUnderstand","thumb-up"],["J'ai pu résoudre mon problème","solvedMyProblem","thumb-up"],["Autre","otherUp","thumb-up"]],[["Il n'y a pas l'information dont j'ai besoin","missingTheInformationINeed","thumb-down"],["Trop compliqué/Trop d'étapes","tooComplicatedTooManySteps","thumb-down"],["Obsolète","outOfDate","thumb-down"],["Problème de traduction","translationIssue","thumb-down"],["Mauvais exemple/Erreur de code","samplesCodeIssue","thumb-down"],["Autre","otherDown","thumb-down"]],["Dernière mise à jour le 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)"]]