Tetap teratur dengan koleksi
Simpan dan kategorikan konten berdasarkan preferensi Anda.
Generic System Image (GSI) merupakan
implementasi Android murni dengan kode Proyek Open Source Android (AOSP)
tanpa dimodifikasi, yang dapat dijalankan di berbagai perangkat Android.
Developer aplikasi dapat menginstal dan menjalankan GSI Android terbaru untuk melakukan pengujian
aplikasi di berbagai perangkat Android yang ada, serta menggunakan GSI dari berbagai
tahap rilis Android OS, termasuk build Pratinjau Developer dan Beta. Menambahkan
GSI ke proses verifikasi dan pengujian dapat memberikan beberapa manfaat
tambahan:
Cakupan pengujian yang lebih luas pada kumpulan perangkat sungguhan yang lebih banyak
Lebih banyak waktu untuk memperbaiki masalah kompatibilitas aplikasi
Lebih banyak peluang untuk memperbaiki masalah kompatibilitas di Android yang dilaporkan
oleh developer aplikasi
Project GSI bersifat open
source
dan membantu meningkatkan ekosistem Android dengan menyediakan lebih banyak cara untuk meningkatkan kualitas
aplikasi dan OS sebelum setiap rilis Android.
Gambar 1: GSI dapat diinstal di berbagai
perangkat, dan terkadang bahkan untuk versi Android dari produsen perangkat
yang tidak menyediakan image sistemnya sendiri.
GSI menyertakan fungsi sistem inti yang sama untuk semua perangkat tempatnya
diinstal. Dengan kata lain, GSI tidak menyertakan penyesuaian produsen
perangkat. Oleh karena itu, Anda mungkin menemukan perbedaan perilaku dalam
situasi berikut:
Interaksi yang melibatkan UI
Alur kerja yang meminta fitur hardware yang lebih baru
Memeriksa kesesuaian perangkat
GSI hanya dapat berfungsi pada perangkat dengan karakteristik berikut:
Bootloader tidak terkunci.
Mematuhi persyaratan Treble sepenuhnya.
Diluncurkan dengan Android 9 (API level 28) atau versi lebih tinggi. Perangkat yang diupgrade ke
Android 9 dari versi sebelumnya mungkin mendukung atau tidak mendukung GSI.
Untuk mengetahui apakah perangkat Anda dapat menggunakan GSI, dan untuk menentukan versi OS GSI mana yang
harus diinstal, lakukan langkah berikut:
Periksa dukungan Treble dengan menjalankan perintah berikut:
adb shell getprop ro.treble.enabled
Jika responsnya false, artinya perangkat tidak kompatibel dengan GSI dan Anda
tidak perlu melanjutkan. Jika responsnya true, lanjutkan ke langkah berikutnya.
Periksa dukungan lintas versi dengan menjalankan perintah berikut:
adb shell cat /system/etc/ld.config.version_identifier.txt \
| grep -A 20 "\[vendor\]"
Pada output, cari namespace.default.isolated di bagian [vendor].
Jika nilai untuk atribut tersebut true, artinya perangkat sepenuhnya mendukung Vendor Native Development Kit
(VNDK) dan dapat menggunakan
semua versi sistem operasi (OS) GSI yang lebih baru dari versi OS yang ada di perangkat. Jika memungkinkan, gunakan versi GSI OS terbaru yang tersedia.
Jika nilai untuk atribut tersebut false, artinya perangkat tidak sepenuhnya
memenuhi persyaratan VNDK dan perangkat hanya dapat menggunakan GSI untuk versi
OS di perangkat yang sama. Misalnya, perangkat Android 10 (API versi 29) yang tidak
memenuhi persyaratan VNDK hanya dapat memuat image GSI Android 10.
Jenis arsitektur CPU GSI harus sesuai dengan arsitektur CPU perangkat. Untuk
menemukan arsitektur CPU yang tepat untuk image GSI, jalankan perintah
berikut:
adb shell getprop ro.product.cpu.abi
Gunakan output guna menentukan image GSI mana yang akan digunakan untuk melakukan flash
pada perangkat. Misalnya, pada Pixel 5, output-nya akan menunjukkan bahwa arsitektur CPU
adalah arm64-v8a, sehingga Anda harus menggunakan GSI jenis arm64.
Mendownload GSI
Ada beberapa cara untuk mendapatkan GSI, bergantung pada kebutuhan pengembangan Anda:
Untuk GSI Pratinjau Android dan GSI Android dengan GMS, download image dari
halaman rilis GSI.
Untuk image GSI yang sudah di-build tanpa aplikasi GMS, download image dari
situs CI AOSP:
Untuk mem-build GSI Android tanpa GMS, download kode sumber dari
AOSP, lalu build
GSI Anda.
Menginstal GSI
Menginstal GSI bergantung pada perangkat. Anda dapat merujuk pada produsen perangkat untuk
prosedur dan fitur yang tepat. Untuk perangkat Google Pixel seperti Pixel 3 dan
yang lebih baru, ada beberapa cara penginstalan:
Menggunakan Dynamic System Update (DSU) untuk perangkat yang sudah menjalankan Android 10 atau
yang lebih tinggi: lihat halaman Dynamic System Updates
Beri masukan
GSI ditujukan untuk membantu Anda memvalidasi aplikasi di Android. Kami mengharapkan
masukan Anda terkait image, alat, dan proses dalam menggunakan GSI di
perangkat Anda.
Konten dan contoh kode di halaman ini tunduk kepada lisensi yang dijelaskan dalam Lisensi Konten. Java dan OpenJDK adalah merek dagang atau merek dagang terdaftar dari Oracle dan/atau afiliasinya.
Terakhir diperbarui pada 2025-08-25 UTC.
[[["Mudah dipahami","easyToUnderstand","thumb-up"],["Memecahkan masalah saya","solvedMyProblem","thumb-up"],["Lainnya","otherUp","thumb-up"]],[["Informasi yang saya butuhkan tidak ada","missingTheInformationINeed","thumb-down"],["Terlalu rumit/langkahnya terlalu banyak","tooComplicatedTooManySteps","thumb-down"],["Sudah usang","outOfDate","thumb-down"],["Masalah terjemahan","translationIssue","thumb-down"],["Masalah kode / contoh","samplesCodeIssue","thumb-down"],["Lainnya","otherDown","thumb-down"]],["Terakhir diperbarui pada 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)"]]