با مجموعهها، منظم بمانید
ذخیره و طبقهبندی محتوا براساس اولویتهای شما.
تصویر سیستم عمومی ( GSI ) یک پیادهسازی خالص اندروید با کد پروژه منبع باز اندروید (AOSP) اصلاح نشده است که قابل اجرا بر روی انواع دستگاههای اندرویدی است.
توسعهدهندگان برنامه میتوانند جدیدترین GSIهای Android را نصب و اجرا کنند تا آزمایش برنامه را روی انواع دستگاههای Android موجود انجام دهند و از GSIهای مراحل مختلف انتشار سیستمعامل Android، از جمله پیشنمایش توسعهدهنده و ساختهای بتا استفاده کنند. افزودن GSI به فرآیندهای تأیید و آزمایش می تواند مزایای بیشتری برای شما به ارمغان آورد:
پوشش آزمایشی گسترده تر در مجموعه بیشتری از دستگاه های واقعی
زمان بیشتر برای رفع مشکلات سازگاری برنامه
فرصت های بیشتری برای رفع مشکلات سازگاری در Android که توسط توسعه دهندگان برنامه گزارش شده است
پروژه GSI منبع باز است و با ارائه راه های بیشتر برای بهبود کیفیت برنامه و سیستم عامل قبل از هر انتشار اندروید به بهبود اکوسیستم اندروید کمک می کند.
شکل 1 : GSI ها را می توان در طیف وسیعی از دستگاه ها نصب کرد، و گاهی اوقات حتی برای نسخه هایی از Android که سازنده دستگاه تصویر سیستم خود را برای آنها ارائه نمی دهد.
GSIها دارای عملکردهای اصلی سیستم برای همه دستگاه هایی هستند که روی آنها نصب شده اند. به عبارت دیگر، یک GSI شامل سفارشی سازی های سازنده دستگاه نمی شود. به همین دلیل، ممکن است در شرایط زیر با تفاوت های رفتاری مواجه شوید:
تعاملاتی که شامل UI می شوند
جریان های کاری که ویژگی های سخت افزاری جدیدتری را درخواست می کنند
انطباق دستگاه را بررسی کنید
GSI ها فقط می توانند روی دستگاه هایی با ویژگی های زیر کار کنند:
بوت لودر آنلاک است.
کاملاً مطابق با Treble.
با Android 9 (سطح API 28) یا بالاتر راه اندازی شد. دستگاه هایی که از نسخه قبلی به اندروید 9 ارتقا یافته اند ممکن است از GSI پشتیبانی کنند یا نه.
برای تعیین اینکه آیا دستگاه شما میتواند از GSI استفاده کند و کدام نسخه سیستم عامل GSI را باید نصب کنید، موارد زیر را انجام دهید:
با اجرای دستور زیر، پشتیبانی از Treble را بررسی کنید:
adb shell getprop ro.treble.enabled
اگر پاسخ false است، دستگاه با GSI سازگار نیست و نباید ادامه دهید. اگر پاسخ true است، به مرحله بعد ادامه دهید.
با اجرای دستور زیر، پشتیبانی از نسخه متقاطع را بررسی کنید:
adb shell cat /system/etc/ld.config.version_identifier.txt \
| grep -A 20 "\[vendor\]"
در خروجی، در بخش [vendor]namespace.default.isolated را جستجو کنید.
اگر مقدار آن مشخصه true باشد، دستگاه بهطور کامل از Vendor Native Development Kit (VNDK) پشتیبانی میکند و میتواند از هر نسخه سیستمعامل GSI (OS) که جدیدتر از نسخه سیستم عامل روی دستگاه است استفاده کند. در صورت امکان، از آخرین نسخه سیستم عامل GSI که در دسترس است استفاده کنید.
اگر مقدار مشخصه false باشد، دستگاه کاملاً با VNDK سازگار نیست و دستگاه میتواند فقط از GSI برای همان نسخه سیستمعامل روی دستگاه استفاده کند. برای مثال، دستگاه Android 10 (API نسخه 29) که با VNDK سازگار نیست، میتواند فقط یک تصویر Android 10 GSI را بارگیری کند.
نوع معماری CPU GSI باید با معماری CPU دستگاه مطابقت داشته باشد. برای پیدا کردن معماری CPU مناسب برای تصویر GSI، دستور زیر را اجرا کنید:
adb shell getprop ro.product.cpu.abi
از خروجی برای تعیین اینکه از کدام تصویر GSI هنگام فلش دستگاه خود استفاده کنید استفاده کنید. به عنوان مثال، در پیکسل 5، خروجی نشان میدهد که معماری CPU arm64-v8a است، بنابراین میتوانید از نوع arm64 GSI استفاده کنید.
GSI ها را دانلود کنید
بسته به نیازهای توسعه شما، چند راه برای دریافت GSI وجود دارد:
برای GSI های پیش نمایش Android و GSI های Android با GMS، تصاویر را از صفحه انتشار GSI دانلود کنید.
برای تصاویر GSI از پیش ساخته شده بدون برنامه های GMS، تصاویر را از سایت AOSP CI دانلود کنید:
برای ساختن GSI های اندروید بدون GMS، کد منبع را از AOSP دانلود کنید و GSI خود را بسازید.
یک GSI نصب کنید
نصب GSI وابسته به دستگاه است. برای اطلاع از ابزارها و مراحل دقیق به سازنده دستگاه خود مراجعه کنید. برای دستگاههای Google Pixel مانند Pixel 3 و جدیدتر، چندین راه برای نصب وجود دارد:
استفاده از بهروزرسانی پویا سیستم (DSU) برای دستگاههایی که قبلاً Android 10 یا بالاتر را اجرا میکنند: به صفحه بهروزرسانیهای سیستم پویا مراجعه کنید.
بازخورد بدهید
GSI ها برای کمک به اعتبارسنجی برنامه های خود در Android در نظر گرفته شده اند. از بازخورد شما در مورد تصاویر، ابزارها و فرآیند استفاده از GSI در دستگاههایتان قدردانی میکنیم.
محتوا و نمونه کدها در این صفحه مشمول پروانههای توصیفشده در پروانه محتوا هستند. جاوا و OpenJDK علامتهای تجاری یا علامتهای تجاری ثبتشده Oracle و/یا وابستههای آن هستند.
تاریخ آخرین بهروزرسانی 2025-08-25 بهوقت ساعت هماهنگ جهانی.
[[["درک آسان","easyToUnderstand","thumb-up"],["مشکلم را برطرف کرد","solvedMyProblem","thumb-up"],["غیره","otherUp","thumb-up"]],[["اطلاعاتی که نیاز دارم وجود ندارد","missingTheInformationINeed","thumb-down"],["بیشازحد پیچیده/ مراحل بسیار زیاد","tooComplicatedTooManySteps","thumb-down"],["قدیمی","outOfDate","thumb-down"],["مشکل ترجمه","translationIssue","thumb-down"],["مشکل کد / نمونهها","samplesCodeIssue","thumb-down"],["غیره","otherDown","thumb-down"]],["تاریخ آخرین بهروزرسانی 2025-08-25 بهوقت ساعت هماهنگ جهانی."],[],[],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)"]]