این صفحه نحوه انتشار GKI را شرح میدهد، ازجمله انتشار اضطراری فصلی و خارج از باند. هدف این صفحه ارائه دستورالعملهایی به تولیدکنندگان تجهیزات اصلی (OEM) درباره مکان دریافت GKI و همچنین فرایند اصلاحات اضطراری خارج از باند است. سازندگان اصلی سختافزار همچنین میتوانند از توسعه GKI استفاده کنند تا درباره نحوه همکاری با تیم هسته Android برای بهینهسازی هسته GKI برای محصولاتشان بیشتر بدانند.
آهنگ انتشار GKI
GKI در یک دوره سهماهه پساز توقف KMI منتشر میشود.
| ماه انتشار | a12-5.10 | a13-5.10 | a13-5.15 | a14-5.15 | a14-6.1 | a15-6.6* | a16-6.12* | a17-6.18* | |
|---|---|---|---|---|---|---|---|---|---|
| اکتبر ۲۰۲۵ |
اعلام حضور قطع شد |
۱۶ اکتبر | ۱ اکتبر | ۱ اکتبر | |||||
| پیشبارگیری GKI آماده است | ۳۱ اکتبر | ۱۵ اکتبر | ۱۵ اکتبر | ||||||
| دسامبر ۲۰۲۵ |
اعلام حضور قطع شد |
۱ دسامبر | ۱ دسامبر | ۱ دسامبر | ۱ دسامبر | ||||
| پیشبارگیری GKI آماده است | ۱۵ دسامبر | ۱۵ دسامبر | ۱۵ دسامبر | ۱۵ دسامبر | |||||
| ژانویه ۲۰۲۶ |
پایان اعلام حضور |
۱۶ ژانویه | ۲ ژانویه | ۲ ژانویه | |||||
| پیشبارگیری GKI آماده است | ۳۱ ژانویه | ۱۵ ژانویه | ۱۵ ژانویه | ||||||
| فوریه ۲۰۲۶ |
پایان اعلام حضور |
||||||||
| پیشبار کردن GKI آماده است | |||||||||
| مارس ۲۰۲۶ |
اعلام حضور قطع شد |
۱ مارس | ۱ مارس | ۱۵ مارس | |||||
| پیشبارگیری GKI آماده است | ۱۵ مارس | ۱۵ مارس | ۳۱ مارس | ||||||
| آوریل ۲۰۲۶ |
پایان اعلام حضور |
۱۶ آوریل | ۱۶ آوریل | ۱ آوریل | ۱ آوریل | ||||
| پیشبارگیری GKI آماده است | ۳۰ آوریل | ۳۰ آوریل | ۱۵ آوریل | ۱۵ آوریل | |||||
| مه ۲۰۲۶ |
اعلام حضور قطع شد |
||||||||
| پیشبارگیری GKI آماده است | |||||||||
| ژوئن ۲۰۲۶ |
پایان اعلام حضور |
۱ ژوئن | ۱۵ ژوئن | ۱۵ ژوئن | ۱ ژوئن | ||||
| پیشبارگیری GKI آماده است | ۱۵ ژوئن | ۳۰ ژوئن | ۳۰ ژوئن | ۱۵ ژوئن | |||||
| ژوئیه ۲۰۲۶ |
پایان اعلام حضور |
۱۶ ژوئیه | ۱۶ ژوئیه | ۱ ژوئیه | ۱ ژوئیه | ||||
| پیشبارگیری GKI آماده است | ۳۱ ژوئیه | ۳۱ ژوئیه | ۱۵ ژوئیه | ۱۵ ژوئیه | |||||
| اوت ۲۰۲۶ |
اعلام حضور قطع شد |
||||||||
| پیشبارگیری GKI آماده است | |||||||||
| سپتامبر ۲۰۲۶ |
پایان اعلام حضور |
۱ سپتامبر | ۱۶ سپتامبر | ۱۶ سپتامبر | ۱ سپتامبر | ||||
| پیشبارگیری GKI آماده است | ۱۵ سپتامبر | ۳۰ سپتامبر | ۳۰ سپتامبر | ۱۵ سپتامبر | |||||
| اکتبر ۲۰۲۶ |
پایان اعلام حضور |
۱۶ اکتبر | ۱۶ اکتبر | ۱ اکتبر | ۱ اکتبر | ||||
| پیشبارگیری GKI آماده است | ۳۱ اکتبر | ۳۱ اکتبر | ۱۵ اکتبر | ۱۵ اکتبر | |||||
| نوامبر ۲۰۲۶ |
پایان اعلام حضور |
||||||||
| پیشبارگیری GKI آماده است | |||||||||
| دسامبر ۲۰۲۶ |
پایان اعلام حضور |
۱ دسامبر | ۱ دسامبر | ۱ دسامبر | ۱ دسامبر | ||||
| پیشبارگیری GKI آماده است | ۱۵ دسامبر | ۱۵ دسامبر | ۱۵ دسامبر | ۱۵ دسامبر | |||||
اعتبار ساخت GKI برای OEMها
تولیدکنندگان اصلی سختافزار میتوانند از «تصویر هسته عمومی» Android که اخیراً منتشر شده است استفاده کنند. «تولیدکنندگان تجهیزات اصلی» میتوانند با ساختارهای دارای گواهینامه GKI راهاندازی کنند، بهشرطی که با الزامات هسته «پشتیبانی بلندمدت» (LTS) در «بولتن امنیتی Android» (ASB) مطابقت داشته باشند.
نسخههای پخش GKI ۱۶ کیلوبایتی
تیم انتشار GKI نسخههای GKI با اندازه صفحه ۱۶ کیلوبایتی را بااستفاده از همان آهنگ انتشار فصلی، آزمایش صلاحیت، و فرایند چرخش مجدد مانند نسخههای GKI با اندازه صفحه ۴ کیلوبایتی مدیریت میکند:
- شاخههای پشتیبانیشده:
android15-6.6(از ژانویه ۲۰۲۶)android16-6.12(از مارس ۲۰۲۶)-
android17-6.18(از ژوئن ۲۰۲۶)
- ساخت برابری و گواهینامه: دودوییهای GKI ۱۶ کیلوبایتی از همان برچسب منبع و شناسه ساخت هسته نسخه GKI ۴ کیلوبایتی مربوطه استفاده میکنند.
تا سال ۲۰۲۷، برگه نسخه ساخت انتشار ۱۶ کیلوبایتی در
android15-6.6،android16-6.12، وandroid17-6.18صفحههای نسخه ساخت انتشار، فایلهای باینری انتشار GKI غیرتأییدشده ۱۶ کیلوبایتی را ارائه میدهد. نیازی نیست هستههای ۴ کیلوبایتی و ۱۶ کیلوبایتی را با هم بهروز کنید، اگرچه انجام این کار را توصیه میکنیم. - بازچرخههای درخواستی: بازچرخههای GKI ۱۶ کیلوبایتی را بااستفاده از همان فرایند و فرم درخواست بازچرخه برای نسخههای ساخت ۴ کیلوبایتی درخواست کنید.
انتشارهای تأییدشده فصلی
نسخههای فصلی GKI حاوی boot.img آزمایششدهای است که شامل گواهی درجشده Google است تا گواهی دهد که باینریها از خط مبنای کد منبع شناختهشدهای ساخته شدهاند.
هر فصل، یک نامزد انتشار فصلی GKI (بدون گواهینامه) پساز تاریخ پایان بازبینی انتخاب میشود. پساز انتخاب نامزد انتشار سهماهه، تغییرات جدید در انتشار آن ماه پذیرفته نخواهد شد. درطول دوره پنجره بسته، فقط رفع اشکالهایی که باعث آزمایش ناموفق میشوند قابلرسیدگی است. نسخه نامزد انتشار تحت تضمین کیفیت قرار میگیرد—همانطور که در بخش صلاحیت GKI توضیح داده شده است—تا تأیید شود که آزمایشهای انطباق در ساختار GSI+GKI با دستگاه مرجع و همچنین Cuttlefish موفقیتآمیز است.
شکل ۱. خط زمان انتشار GKI
شرایط لازم GKI
| انواع ساختارهای GKI | اجرای کیفیت | نکتهها |
|---|---|---|
| فصلی (تأییدشده) | آزمایش Cuttlefish
|
|
| چرخشهای مجدد (تأییدشده) | آزمایش Cuttlefish
|
|
آرتیفکتهای ساخت را از کجا دریافت کنیم
«تولیدکنندگان تجهیزات اصلی» میتوانند آرتیفکتهای همه نسخههای پخش را از ci.android.com دریافت کنند.
میتوانید اطلاعات بیشتری درباره CI، ازجمله نتایج آزمایش، در داشبورد ادغام پیوسته Android پیدا کنید.
پرسشگان
در اینجا برخیاز پرسشهای متداول مربوط به فرایند انتشار GKI آورده شده است.
آیا امکان ساختن باینری GKI جدید براساس GKI منتشرشده قبلی وجود دارد؟
بله، این کار بهعنوان چرخش مجدد شناخته میشود. فرایند بازچرخش تا زمانی پشتیبانی میشود که نسخه GKI منتشرشده (که بازچرخش برای آن درخواست شده است) با الزامات LTS در «بولتن امنیتی Android» (ASB) مطابقت داشته باشد.
آیا بازتولید کردن دودوییهای GKI امکانپذیر است؟
بله، در اینجا یک مثال آورده شده است:
GKI 2.0
5.10 kernel prebuilts from build 7364300
https://ci.android.com/builds/submitted/7364300/kernel_aarch64/latest
برای بازتولید کردن نمونه، manifest_$id.xml را بارگیری کنید و فرمان زیر را اجرا کنید:
repo init -u https://android.googlesource.com/kernel/manifestmv manifest_7364300.xml .repo/manifestsrepo init -m manifest_7364300.xml --depth=1repo sync # build the GKI images # You may want to use LTO=thin to build faster for developmentBUILD_CONFIG=common/build.config.gki.aarch64 build/build.sh # (optional) build virtual platform modulesBUILD_CONFIG=common-modules/virtual-device/build.config.virtual_device.aarch64 build/build.sh
میتوانید نسخه آرتیفکت GKI را از out/.../dist بازیابی کنید.
آیا باینری GKI (ازجمله وصله چرخش اضطراری) روی جدیدترین پایگاه کد ساخته شده است؟
نه. Respin فقط شامل وصلههایی است که در بالای هستههای تأییدشده فصلی انتخابشده قرار دارند. این نسخههای اصلاحشده حاوی همه رفع اشکالهای مسدودکننده راهاندازی است که تا زمان مشخصی توسط سازندگان اصلی تجهیزات بااستفاده از نسخه فصلی پایه مربوطه گزارش شده است. مثال زیر را ببینید که چگونه این نوع سناریو اتفاق میافتد.
- OEM1 و OEM2 تصمیم میگیرند از نسخه باینری GKI از نوامبر ۲۰۲۱ استفاده کنند.
- «سازنده اصلی محصول ۱» و «سازنده اصلی محصول ۲» مشکلاتی را پیدا میکنند که برای پشتیبانی نیاز به وصله دارند. این وصلهها ممکن است متفاوت یا یکسان باشند.
- نسخههای اصلاحشده روی باینری نوامبر ۲۰۲۱ دارای اصلاحات مسدودکننده راهاندازی هستند که توسط OEM1 و OEM2 درطول پنجره نسخه اصلاحشده گزارش شدهاند، اما نه بیشتر.
- مشکلات ذکرشده در مورد دوم نیز در نسخههای فصلی بعدی GKI گنجانده شدهاند.
نسخه چرخش مجدد اکتبر همه وصلههای ارائهشده ازسوی سازنده تجهیزات اصلی را دارد، اما وصلههای دیگر سازنده تجهیزات اصلی بر ما تأثیر میگذارند، زیرا بهطور خاص با محصولات ما آزمایش نشدهاند. آیا امکان دارد فقط وصله خودمان را اضافه کنیم؟
این کار ممکن نیست. مسیر چرخش مجدد برای هر سازنده تجهیزات اصلی مقیاسپذیر نیست. درعوض، تیم GKI هر تغییری را که در ساختهای چرخش مجدد اعمال میشود بهدقت بررسی میکند و تغییرات را با همه سختافزارهای دردسترس قبلاز ایجاد ساخت جدید آزمایش میکند. اگر تیم GKI متوجه شود که مشکل مربوط به یک سازنده تجهیزات اصلی، دستگاه، یا مدل خاص است، تیم GKI میتواند تأیید کند که کد اضافهشده توسط تغییر فقط در دستگاه، مدل، یا واحد نگهداری کالای تحتتأثیر اجرا میشود.
مزیت اصلی بازچرخههای یکپارچه این است که هر دستگاهی که از یک پایه انتشار استفاده میکند از دیگری بهره میبرد، بهویژه اگر اشکالاتی که کشف میکنند عمومی و برای همه کاربران قابلاجرا باشد. اشکالات هسته اصلی در آزمایش حامل نمونهای خاص از این مفهوم است.
آیا شرایطی وجود دارد که Google اطلاعات خاصی درباره وصلههای OEM و سناریوهای مشکل ارائه دهد تا OEMها بتوانند تأثیر و خطر اجرای وصلهها را در محصولاتشان ارزیابی کنند؟
Google تا زمانی که تیم GKI مشکل را درک نکرده و همه جزئیات را جمعآوری نکرده باشد، هیچ تغییری به ساختار چرخش مجدد اضافه نخواهد کرد. میتوانید این را در گزارش تغییرات (پیام ارسال) ببینید. Google دستگاه خاصی را که تحت تأثیر قرار میگیرد فاش نمیکند، اما تولیدکنندگان تجهیزات اصلی همیشه میتوانند شرح مشکل و راهحل آن را در گزارش تغییرات پیدا کنند.