يصف هذا المستند كيفية إصدار "مبادرة أخبار Google"، بما في ذلك إصدارات الطوارئ الأسبوعية والشهرية وخارج النطاق. والهدف من هذا المستند هو تقديم إرشادات للمصنّعين الأصليين للأجهزة حول كيفية الحصول على GKI وكذلك خطوات الإصلاحات في حالات الطوارئ خارج النطاق. يمكن للمصنّعين الأصليين للأجهزة أيضًا استخدام دليل تطوير GKI لمعرفة مزيد من المعلومات حول كيفية العمل مع فريق Android Kernel لتحسين نواة GKI لمنتجاتهم.
وتيرة إصدار GKI
يتم إصدار لوحة التحكّم في المفاتيح (GKI) وفقًا لسلسلة نقاط الوتيرة الشهرية بعد إيقاف خوارزمية KMI.
إصدار Android 13 و14 و15 GKI
لا ينطبق الجدول التالي إلا على android13-5.10
وandroid13-5.15
وandroid14-6.1
.
الإصدارات المعتمدة شهريًا من GKI | تاريخ الموعد النهائي لتسجيل الوصول | تاريخ جاهزية التحميل المُسبَق في GKI | هل تم التأكيد؟ |
---|---|---|---|
أكتوبر | 14 تشرين الأول (أكتوبر) 2022 | 31 تشرين الأول (أكتوبر) 2022 | نعم |
نوفمبر | 14 تشرين الثاني (نوفمبر) 2022 | 30 تشرين الثاني (نوفمبر) 2022 | نعم |
ديسمبر | 9 كانون الأول (ديسمبر) 2022 | 21 كانون الأول (ديسمبر) 2022 | نعم |
يناير | 17 كانون الثاني (يناير) 2023 | 31 كانون الثاني (يناير) 2023 | نعم |
فبراير | 15 شباط (فبراير) 2023 | 28 شباط (فبراير) 2023 | نعم |
مارس | 15 آذار (مارس) 2023 | 31 آذار (مارس) 2023 | نعم |
أبريل | 13 نيسان (أبريل) 2023 | 28 نيسان (أبريل) 2023 | نعم |
مايو | 17 أيار (مايو) 2023 | 31 أيار (مايو) 2023 | نعم |
يونيو | 15 حزيران (يونيو) 2023 | 30 حزيران (يونيو) 2023 | نعم |
يوليو | 18 تموز (يوليو) 2023 | 31 تموز (يوليو) 2023 | نعم |
أغسطس | 16 آب (أغسطس) 2023 | 31 آب (أغسطس) 2023 | نعم |
سبتمبر | 14 أيلول (سبتمبر) 2023 | 29 أيلول (سبتمبر) 2023 | نعم |
أكتوبر | 18 تشرين الأول (أكتوبر) 2023 | 31 تشرين الأول (أكتوبر) 2023 | نعم |
نوفمبر | 10 تشرين الثاني (نوفمبر) 2023 | 30 تشرين الثاني (نوفمبر) 2023 | نعم |
ديسمبر | 7 كانون الأوّل (ديسمبر) 2023 | 22 كانون الأول (ديسمبر) 2023 | نعم |
يناير | 16 يناير 2024 | 31 يناير 2024 | نعم |
فبراير | 13 فبراير 2024 | 29 فبراير 2024 | نعم |
مارس | 13 آذار (مارس) 2024 | 29 مارس 2024 | نعم |
أبريل | 16 أبريل 2024 | 30 أبريل 2024 | نعم |
مايو | 14 مايو 2024 | 31 مايو 2024 | نعم |
يونيو | 12 يونيو 2024 | 28 يونيو 2024 | نعم |
يوليو | 16 يوليو 2024 | 31 يوليو 2024 | نعم |
أغسطس | 15 أغسطس 2024 | 30 أغسطس 2024 | نعم |
سبتمبر | 17 سبتمبر 2024 | 30 سبتمبر 2024 | نعم |
أكتوبر | 15 تشرين الأول (أكتوبر) 2024 | 31 تشرين الأول (أكتوبر) 2024 | نعم |
نوفمبر | 11 تشرين الثاني (نوفمبر) 2024 | 27 تشرين الثاني (نوفمبر) 2024 | نعم |
ديسمبر | 6 كانون الأول (ديسمبر) 2024 | 23 كانون الأول (ديسمبر) 2024 | نعم |
اعتبارًا من كانون الثاني (يناير) 2024، سنستأنف إصدارات android14-5.15
الشهرية
وفقًا لوتيرة الاشتراك الشهرية المحدّدة في الجدول أدناه.
سيتّبع android15-6.6
وتيرة طرح التطبيقات نفسها اعتبارًا من يوليو 2024.
الإصدارات المعتمدة شهريًا من GKI | تاريخ الموعد النهائي لتسجيل الوصول | تاريخ جاهزية التحميل المُسبَق في GKI | هل تم التأكيد؟ |
---|---|---|---|
يناير | 16 يناير 2024 | 31 يناير 2024 | نعم |
فبراير | 13 فبراير 2024 | 29 فبراير 2024 | نعم |
مارس | 4 مارس 2024 | 15 مارس 2024 | نعم |
أبريل | 1 نيسان (أبريل) 2024 | 17 أبريل 2024 | نعم |
مايو | 1 مايو 2024 | 17 مايو 2024 | نعم |
يونيو | 3 يونيو 2024 | 17 يونيو 2024 | نعم |
يوليو | 1 يوليو 2024 | 15 يوليو 2024 | نعم |
أغسطس | 1 آب (أغسطس) 2024 | 16 آب (أغسطس) 2024 | نعم |
سبتمبر | 2 سبتمبر 2024 | 16 سبتمبر 2024 | نعم |
أكتوبر | 1 أكتوبر 2024 | 14 تشرين الأول (أكتوبر) 2024 | نعم |
نوفمبر | 1 تشرين الثاني (نوفمبر) 2024 | 15 تشرين الثاني (نوفمبر) 2024 | نعم |
ديسمبر | 2 كانون الأول (ديسمبر) 2024 | 16 كانون الأول (ديسمبر) 2024 | نعم |
إصدار Android 12 GKI
بعد أيار (مايو) 2024، يتم نشر إصدارات android12-5.10
GKI بوتيرة ربع سنوية
ويتم نشرها في منتصف الشهر.
لا يسري الجدول التالي إلا على android12-5.10
.
الإصدارات المعتمدة شهريًا من GKI | تاريخ الموعد النهائي لتسجيل الوصول | تاريخ جاهزية التحميل المُسبَق في GKI | هل تم التأكيد؟ |
---|---|---|---|
يوليو | 3 تموز (يوليو) 2023 | 14 تموز (يوليو) 2023 | نعم |
سبتمبر | 1 أيلول (سبتمبر) 2023 | 15 أيلول (سبتمبر) 2023 | نعم |
نوفمبر | 3 تشرين الثاني (نوفمبر) 2023 | 17 تشرين الثاني (نوفمبر) 2023 | نعم |
يناير | 5 يناير 2024 | 19 يناير 2024 | نعم |
مارس | 4 مارس 2024 | 15 مارس 2024 | نعم |
مايو | 1 مايو 2024 | 17 مايو 2024 | نعم |
أغسطس | 1 آب (أغسطس) 2024 | 16 آب (أغسطس) 2024 | نعم |
نوفمبر | 1 تشرين الثاني (نوفمبر) 2024 | 15 تشرين الثاني (نوفمبر) 2024 | نعم |
فبراير | 3 شباط (فبراير) 2025 | 17 شباط (فبراير) 2025 | نعم |
إصدار GKI صالح للمصنّعين الأصليين
يمكن للمصنّعين الأصليين للأجهزة استخدام GKI إصدار Android GKI الصادر مؤخرًا. يمكن للمصنّعين الأصليين للأجهزة العمل باستخدام إصدارات معتمَدة من GKI شرط أن تكون متوافقة مع متطلبات "الدعم الطويل الأمد (LTS)" في "نشرة أمان Android " (ASB).
إصدارات التطوير الأسبوعية
يتم اختبار الإصدارات باستخدام الحبَّار للتأكّد من اجتيازها الحد الأدنى من الجودة.تتوفر برامج GKI الثنائية للخدمة الذاتية من ci.android.com عند دمج التغييرات. ولن يتم اعتماد الإصدارات الأسبوعية، ولكن يمكن استخدامها كمرجع للتطوير والاختبار. لا يمكن استخدام الإصدارات الأسبوعية لإصدارات أجهزة الإنتاج للمستخدمين النهائيين.
الإصدارات المُعتمَدة الشهرية
تحتوي إصدارات GKI الشهرية على boot.img
تم اختباره وتتضمّن شهادة أدرجتها Google لإثبات أنّ البرامج الثنائية تم إنشاؤها من مصدر معروف لرمز مصدر.
في كلّ شهر، يتم اختيار مرشح شهري لإصدار GKI (غير معتمَد) بعد تاريخ الإيقاف النهائي لتأكيد السلامة، وهو عادةً الإصدار الأسبوعي الثاني من ذلك الشهر. بعد اختيار مرشّح الإصدار الشهري، لن يتم قبول التغييرات الجديدة في إصدار ذلك الشهر. وخلال فترة النافذة المغلقة، لا يمكن معالجة سوى إصلاحات الأخطاء التي تسبب إخفاقًا في الاختبار. يخضع المرشح لإصدار التطبيق لعملية ضمان الجودة، كما هو موضّح في قسم تأهيل GKI، لضمان اجتياز اختبارات الامتثال في إصدار GKI+GKI باستخدام جهاز مرجعي بالإضافة إلى الحبار.
الشكل 1. المخطط الزمني لإصدار GKI
عملية إعادة المراجعة في حالات الطوارئ
تشير عملية إعادة التثبيت إلى عملية إعادة دمج برنامج ثنائي وإعادة إنشاؤه وإعادة اختباره وإعادة اعتماده بعد إصدار النواة في GKI. يمكنك طلب إعادة تسجيل برنامج ثنائي معتمد في أي من الحالات التالية:
- لتعديل قائمة رموز، اتّبِع الخطوات التالية:
- لتطبيق إصلاح لأحد الأخطاء، بما في ذلك الأخطاء التي يتم العثور عليها أثناء الموافقة على اختبار مشغِّل شبكة الجوّال.
- لإضافة عنصر جذب للمورّدين
- لتطبيق رمز تصحيح على ميزة حالية.
- تطبيق رمز تصحيح الأمان (بعد 6 أشهر)
ويتم دمج التصحيحات الأمنية تلقائيًا في فرع إصدار لمدة تصل إلى 6 أشهر بعد إصدار الفرع. بعد انقضاء 6 أشهر، يجب طلب إعادة تثبيت لتطبيق رموز تصحيح الأمان على الفرع.
قبل طلب إعادة التثبيت، يُرجى ملاحظة الإرشادات التالية:
لا يُسمح بإعادة التثبيت إلا في فروع الإصدار بعد إطلاق الإصدار الأولي المتاح للجميع من الإصدار الشهري.
لا تُقبل طلبات إعادة التثبيت إلا لفرع إصدار معيّن لمدة ستة أشهر كحد أقصى بعد الإصدار العلني الأولي. وبعد ستة أشهر، تكون الفروع مؤهَّلة لإعادة التثبيت لعمليات تصحيح الأمان المذكورة في نشرة أمان Android فقط.
عندما تؤدي متطلبات قناة الدعم الطويل الأمد (LTS)، المحدّدة في نشرة أمان Android (ASB)، إلى عدم امتثال الفرع للفرع، سيتم إيقاف الفرع نهائيًا. لا نقبل طلبات إعادة التثبيت للفروع المتوقّفة. يتم تضمين تاريخ الإيقاف النهائي لفرع إصدار GKI في الملاحظات الشهرية لإصدار GKI ضمن الإصدارات. للتخطيط المستقبلي، يتم تعديل متطلبات الدعم الطويل الأمد (LTS) في أيار (مايو) وتشرين الثاني (نوفمبر) سنويًا. على سبيل المثال، لن يكون الفرع (5.10.177) من
android12-5.10-2023-07
متاحًا لإعادة التثبيت بعد 1 مايو 2024، لأنّandroid12-5.10-2023-07
الفرع (5.10.177) لا يلتزم بمتطلبات "الدعم الطويل الأمد (LTS)" وفقًا لمعايير ASB-2024-05.لا تنطبق إعادة التثبيت إلا على إصلاحات الأخطاء العاجلة أو تحديثات قائمة الرموز أو لتطبيق تصحيح لإصلاح ميزة حالية.
ويجب دمج جميع التصحيحات التي تتم إضافتها إلى فرع الإصدار الشهري داخل الفرع الرئيسي لتطوير GKI. على سبيل المثال، إذا كانت هناك حاجة إلى تصحيح التصحيح لإعادة عرض
android12-5.10-2022-09
، يجب أن يكون قد سبق دمجه فيandroid12-5.10
.وعليك اختيار التصحيحات من الفرع الرئيسي لتطوير GKI وتحميل التصحيح إلى فرع الإصدار الشهري.
وفي طلب إعادة التثبيت، يجب تحديد أولوية الطلب (حسب الإلحاح). ومن خلال هذه الأولوية، يمكن لفريق GKI مساعدة الشركاء بشكل أفضل وفي الوقت المناسب. بالنسبة إلى الطلبات المُهمّة أو الحساسة للوقت، ضَع علامة P0 على الأولوية. بالنسبة لطلبات P0 وP1، يجب عليك أيضًا تبرير درجة الاستعجال. يوضّح الجدول التالي تحديد أولوية الخطأ ووقت الحل (ESRT):
درجة الأهمية ضريبة ESRT الأداة 0 يوما عمل الأداة 1 5 أيام عمل الأداة 2 10 أيام عمل الأداة 3 15 يوم عمل
يجب إرسال طلب إعادة تسجيل منفصل لكل فرع من فروع الإصدار. على سبيل المثال، إذا كانت هناك حاجة إلى إعادة التثبيت لكلٍّ من
android12-5.10-2022-08
وandroid12-5.10-2022-09
، يجب إنشاء طلبَي إعادة إدخال.بعد تقديم إصدار ووضع علامة "تم الإصلاح" على طلب إعادة التثبيت، يجب عدم إعادة فتح طلب إعادة التثبيت لإضافة المزيد من قوائم التغييرات (CLs). يجب إرسال طلب تعديل جديد إذا كانت هناك رموز تصحيح إضافية تحتاج إلى دمجها.
أضِف العلامات التالية لكل قائمة إحالات ناجحة قيد النظر. يتم حظر التقدم في طلب إعادة التثبيت بدون هذه المعلومات.
Bug
: يجب إضافة معرّف الخطأ إلى رسالة الالتزام لكل CL.Change-Id
: يجب أن يكون مطابقًا لرقم تعريف التغيير لتغيير الفرع الأساسي.
إذا كان طلب إعادة المراجعة يتطلب ردّك، ولم تردّ خلال ثلاثة أيام عمل، سيتم خفض مستوى الأولوية بمقدار مستوى واحد (على سبيل المثال، سيتم خفض مستوى الأولوية P0 إلى P1). إذا لم تستجب لمدة أسبوعين، يتم وضع علامة لن يتم إصلاح (قديم) على الخطأ.
إرسال طلب إعادة التثبيت
يوضح الرسم التخطيطي التالي عملية إعادة التركيب. تبدأ العملية عندما يرسل شريك المصنّع الأصلي للجهاز (أنت) طلب إعادة التثبيت.
الشكل 2. عملية إعادة التثبيت
للمشاركة في عملية إعادة التثبيت:
- املأ نموذج طلب معلومات GKI Respin
وتواصَل مع المدير التقني لحسابك في Google على الفور. يؤدي هذا النموذج إلى إنشاء خطأ لطلب إعادة تحديد GKI. تظهر لك أخطاء طلب إعادة التثبيت
(لمقدِّم الطلب) وفريق "GKI" والأفراد المحدّدين الذين تضيفهم إلى قائمة "نسخة إلى" الخاصة بالخطأ.
- إذا سبق لك حلّ المشكلة، يجب أن يوجّه الطلب إلى طلب التصحيح في "المراسلة عبر البريد الإلكتروني" (AOSP) حتى تتمكّن Google من مراجعته. إذا لم يكن إرسال التصحيح ممكنًا، يجب إرفاق التصحيح كملف نصي بالطلب.
- إذا لم يصلك حل، يجب أن يتضمّن الطلب أكبر قدر ممكن من المعلومات، بما في ذلك رقم إصدار النواة (kernel) وسجلاته، ليتمكّن محرّك بحث Google من المساعدة في تصحيح الأخطاء.
- يراجع فريق Google GKI الطلب ويوافق عليه أو يحوّله إليك إذا احتاج إلى مزيد من المعلومات.
- بعد الاتفاق على حلّ المشكلة، يراجع رمز فريق Google GKI (CR+2) التغيير. تبدأ عملية المراجعة الإطار الزمني لـ ESRT. يدمج فريق GKI عملية الانحدار وينشئها ويجربها ويصادق على التغيير.
- تم إصدار البرنامج الثنائي على ci.android.com. وينتهي الإطار الزمني لـ ESRT ويصنِّف فريق Google GKI الطلب على أنّه "ثابت" ويشير إلى إصدار Respin. يتم أيضًا نشر إصدار Respin على صفحة بُنى إصدار نسخة Kernel العامة (GKI) العامة.
مؤهلات GKI
أنواع إصدارات GKI | فرض الجودة | Notes |
---|---|---|
أسبوعيًا | اختبار الحبار
|
|
شهريًا (معتمد) | اختبار الحبار
|
|
إعادة التثبيت (معتمدة) | اختبار الحبار
|
|
مكان الحصول على عناصر التصميم
يمكن الحصول على عناصر لجميع الإصدارات من ci.android.com.
يمكنك العثور على مزيد من المعلومات عن CI، بما في ذلك نتائج الاختبار في لوحة بيانات Android Continuous Integration.
الأسئلة الشائعة
هل من الممكن إنشاء برنامج ثنائي جديد لتطبيق 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/manifest
mv manifest_7364300.xml .repo/manifests
repo init -m manifest_7364300.xml --depth=1
repo sync # build the GKI images # You may want to use LTO=thin to build faster for development
BUILD_CONFIG=common/build.config.gki.aarch64 build/build.sh # (optional) build virtual platform modules
BUILD_CONFIG=common-modules/virtual-device/build.config.virtual_device.aarch64 build/build.sh
يمكنك استرداد نسخة عناصر GKI من "out/.../dist
".
هل تم إنشاء برنامج GKI الثنائي (بما في ذلك رمز التصحيح الدوّار في حالات الطوارئ) استنادًا إلى أحدث قاعدة رموز برمجية؟
لا. تحتوي Respins فقط على تصحيحات أعلى من النواة المعتمدة شهريًا التي تم اختيارها. تحتوي هذه التغييرات على جميع إصلاحات أخطاء حظر الإطلاق التي تم الإبلاغ عنها حتى أي وقت من قِبل المصنّعين الأصليين للأجهزة باستخدام الإصدار الشهري الأساسي المقابل. انظر المثال التالي حول كيفية حدوث هذا النوع من السيناريوهات.
- قرّر المصنّع الأصلي للجهاز والمصنّع الأصلي 2 استخدام إصدار GKI الثنائي اعتبارًا من تشرين الثاني (نوفمبر) 2021.
- العثور على المشاكل التي تتطلب تصحيحات للدعم من المصنّعين الأصليين 1 و2. قد تكون هذه التصحيحات مختلفة أو قد تكون متطابقة.
- تحتوي إعادة التثبيت التي تظهر أعلى البرنامج الثنائي لشهر تشرين الثاني (نوفمبر) 2021 على إصلاحات حظر الإطلاق التي أبلغ عنها كلّ من المصنّع الأصلي للجهاز 1 والمصنّع الأصلي 2 أثناء فترة إعادة التثبيت، ولكن لا شيء أكثر من ذلك.
- يتم أيضًا تضمين المشاكل المذكورة في النقطة الثانية في إصدارات GKI الشهرية اللاحقة من خلال GKI.
تحتوي عملية إعادة الربط في تشرين الأول (أكتوبر) على جميع التصحيحات التي أرسلها المصنّعون الأصليون، ولكن تؤثر التصحيحات الأخرى التابعة للمصنّعين الأصليين لنا، لأنّها لم يتم اختبارها بشكل محدّد مع منتجاتنا. هل يمكن تضمين رمز التصحيح الخاص بنا فقط؟
لا يمكن تنفيذ ذلك. إنّ مسار إعادة التثبيت "حسب المصنّع الأصلي للجهاز" غير قابل للتوسّع حاليًا. وبدلاً من ذلك، يفحص فريق GKI كل تغيير فردي يدخل في عمليات إعادة التثبيت، ويختبر التغييرات باستخدام جميع الأجهزة المتاحة قبل إنشاء إصدار جديد. إذا اكتشف فريق GKI أنّ المشكلة متعلقة بالمصنّع الأصلي للجهاز أو الجهاز أو الطراز، يمكن لفريق GKI التأكّد من أنّ الرمز الذي أضافه التغيير لا يتم تنفيذه إلا على الجهاز أو الطراز أو رمز التخزين التعريفي المتأثّر.
تكمن الفائدة الرئيسية من استخدام الموارد الموحّدة في أنّ كل جهاز يستخدم قاعدة الإصدار نفسها يستفيد من بعضه البعض، خاصةً إذا كانت الأخطاء التي يكتشفونها عامة وتنطبق على جميع المستخدمين. تعد أخطاء النواة الأساسية الموجودة في اختبار شركة النقل مثالاً محددًا على هذا المفهوم.
هل هناك مواقف توفِّر فيها Google معلومات محدّدة حول رموز تصحيح المصنّعين الأصليين وسيناريوهات المشاكل، حتى يتمكّن المصنّعون الأصليون للأجهزة من تقييم تأثير ومخاطر تنفيذ رموز التصحيح مع منتجاتهم؟
لن تضيف Google تغييرًا إلى أي إعادة بيانات إلا بعد فهم المشكلة وجمع كل التفاصيل. يظهر ذلك في سجل التغييرات (commit message). لا تكشف Google عن الجهاز المحدد الذي يؤثر عليه، ولكن يمكن للمصنّعين الأصليين للأجهزة دائمًا العثور على وصف المشكلة وحلها في سجل التغييرات.