تصاویر سیستم عمومی (GSIs)

«تصویر سیستم عمومی» (GSI) پیاده‌سازی خالص Android با کد «پروژه منبع باز Android» (AOSP) بدون تغییر است که روی انواع دستگاه‌های Android اجرا می‌شود.

توسعه‌دهندگان نرم‌افزار می‌توانند جدیدترین GSIهای Android را نصب و اجرا کنند تا آزمایش نرم‌افزار را در انواع دستگاه‌های Android موجود و بااستفاده از GSIهای مراحل مختلف انتشار سیستم‌عامل Android، ازجمله «پیش‌نمایش توسعه‌دهندگان» و ساختارهای «نسخه بتا»، انجام دهند. افزودن GSIs به فرایندهای درستی‌سنجی و آزمایش می‌تواند مزایای اضافی برای شما داشته باشد:

  • پوشش آزمایشی گسترده‌تر در مجموعه بزرگ‌تری از دستگاه‌های واقعی
  • زمان بیشتر برای رفع مشکلات سازگاری برنامه
  • فرصت‌های بیشتر برای رفع مشکلات سازگاری در Android که توسط توسعه‌دهندگان نرم‌افزار گزارش شده است

پروژه GSI متن‌باز است و با ارائه روش‌های بیشتر برای بهبود کیفیت برنامه و سیستم‌عامل قبل‌از هر نسخه پخش Android، به بهبود بوم‌سازگان Android کمک می‌کند.

پشتیبانی از GSI در همه دستگاه‌ها
شکل ۱: تصاویر سیستم عمومی را می‌توان در طیف وسیعی از دستگاه‌ها نصب کرد و گاهی حتی برای نسخه‌هایی از Android که سازنده دستگاه تصویر سیستم خود را برای آن‌ها ارائه نمی‌دهد.

«نرم‌افزارهای نصب‌شدنی عمومی» شامل عملکردهای اصلی سیستم یکسان برای همه دستگاه‌هایی است که در آن‌ها نصب می‌شوند. به‌عبارت دیگر، GSI شامل سفارشی‌سازی‌های سازنده دستگاه نمی‌شود. به‌همین دلیل، ممکن است در موقعیت‌های زیر با تفاوت‌های رفتاری مواجه شوید:

  • تعامل‌هایی که شامل واسط کاربر می‌شود
  • گردش‌های کاری که ویژگی‌های سخت‌افزاری جدیدتری را درخواست می‌کنند

بررسی کردن رعایت استانداردها در دستگاه

«تصاویر سیستم عمومی» فقط در دستگاه‌هایی با مشخصات زیر کار می‌کنند:

  • قفل راه‌انداز سیستم باز است.
  • کاملاً سازگار با Treble.
  • با Android 9 (سطح API 28) یا بالاتر عرضه شده است. دستگاه‌هایی که از نسخه قبلی به Android 9 ارتقا یافته‌اند ممکن است از GSIs پشتیبانی کنند یا نکنند.

برای تعیین اینکه دستگاهتان می‌تواند از GSI استفاده کند یا نه و اینکه کدام نسخه سیستم‌عامل GSI را باید نصب کنید، این مراحل را انجام دهید:

  1. با اجرای فرمان زیر، پشتیبانی از Treble را بررسی کنید:

    adb shell getprop ro.treble.enabled

    اگر پاسخ false است، دستگاه با «تصاویر سیستم عمومی» سازگار نیست و نباید ادامه دهید. اگر پاسخ true است، به مرحله بعدی بروید.

  2. با اجرای فرمان زیر، پشتیبانی بین نسخه‌ای را بررسی کنید:

    adb shell cat /system/etc/ld.config.version_identifier.txt \
    | grep -A 20 "\[vendor\]"

    در برونداد، در بخش [vendor] به‌دنبال namespace.default.isolated بگردید.

    اگر مقدار آن مشخصه true باشد، دستگاه به‌طور کامل از کیت توسعه بومی فروشنده (VNDK) پشتیبانی می‌کند و می‌تواند از هر نسخه سیستم‌عامل (OS) GSI که از نسخه سیستم‌عامل درون‌دستگاهی جدیدتر باشد استفاده کند. هرگاه ممکن بود، از جدیدترین نسخه سیستم‌عامل GSI موجود استفاده کنید.

    اگر مقدار مشخصه false باشد، دستگاه به‌طور کامل با VNDK سازگار نیست و دستگاه فقط می‌تواند از GSI برای نسخه یکسان سیستم‌عامل درون‌دستگاهی استفاده کند. برای مثال، دستگاه Android 10 (نسخه API 29) که با VNDK سازگار نیست فقط می‌تواند تصویر GSI مربوط به Android 10 را بار کند.

  3. نوع معماری CPU در GSI باید با معماری CPU دستگاه مطابقت داشته باشد. برای پیدا کردن معماری CPU مناسب برای تصویر GSI، فرمان زیر را اجرا کنید:

    adb shell getprop ro.product.cpu.abi

    از برونداد برای تعیین اینکه هنگام فلش کردن دستگاهتان از کدام تصویر GSI استفاده شود استفاده کنید. برای مثال، در Pixel 5، برونداد نشان می‌دهد که معماری CPU arm64-v8a است، بنابراین از نوع arm64 «تصویر سیستم عمومی» استفاده می‌کنید.

بارگیری GSIs

بسته به نیازهای توسعه‌دهندگی‌تان، چند روش برای دریافت GSI وجود دارد:

نصب کردن GSI

نصب GSI به دستگاه بستگی دارد. برای اطلاع از ابزارها و رویه‌های دقیق، به سازنده دستگاهتان مراجعه کنید. برای دستگاه‌های Google Pixel مثل Pixel 3 و جدیدتر، چند روش برای نصب وجود دارد:

ارائه بازخورد

‫GSIs برای کمک به شما در اعتبارسنجی برنامه‌هایتان در Android درنظر گرفته شده است. از بازخورد شما درباره تصاویر، ابزارها، و فرایند استفاده از تصاویر ماهواره‌ای Google در دستگاه‌هایتان سپاس‌گزاریم.

برای اطلاع‌رسانی درباره اشکالات یا درخواست‌های ویژگی، از عنصر ردیاب مشکل اختصاصی برای GSIs استفاده کنید.

منابع بیشتر