หน้านี้อธิบายวิธีเผยแพร่ GKI ซึ่งรวมถึงการเผยแพร่รายไตรมาสและการเผยแพร่ฉุกเฉินนอกแบนด์ เป้าหมายของหน้านี้คือการให้คำแนะนำแก่ OEM เกี่ยวกับแหล่งที่มา ของ GKI รวมถึงกระบวนการแก้ไขฉุกเฉินนอกแบนด์ นอกจากนี้ OEM ยังสามารถใช้การพัฒนา GKI เพื่อดูข้อมูลเพิ่มเติมเกี่ยวกับวิธีทำงานร่วมกับทีม Android Kernel เพื่อเพิ่มประสิทธิภาพเคอร์เนล 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* | |
|---|---|---|---|---|---|---|---|---|---|
| ต.ค. 2025 |
เช็คอิน ปิด |
16 ต.ค. | 1 ต.ค. | 1 ต.ค. | |||||
| การโหลด GKI ล่วงหน้าพร้อมแล้ว | 31 ต.ค. | 15 ต.ค. | 15 ต.ค. | ||||||
| ธ.ค. 2025 |
เวลาสิ้นสุด การเช็คอิน |
1 ธ.ค. | 1 ธ.ค. | 1 ธ.ค. | 1 ธ.ค. | ||||
| การโหลด GKI ล่วงหน้าพร้อมแล้ว | 15 ธ.ค. | 15 ธ.ค. | 15 ธ.ค. | 15 ธ.ค. | |||||
| ม.ค. 2026 |
เช็คอิน ปิด |
16 ม.ค. | 2 ม.ค. | 2 ม.ค. | |||||
| GKI preload พร้อมใช้งาน | 31 ม.ค. | 15 ม.ค. | 15 ม.ค. | ||||||
| ก.พ. 2026 |
เช็คอิน ปิด |
||||||||
| GKI preload พร้อมใช้งาน | |||||||||
| มี.ค. 2026 |
เช็คอิน ปิด |
1 มี.ค. | 1 มี.ค. | 15 มี.ค. | |||||
| GKI preload พร้อมใช้งาน | 15 มี.ค. | 15 มี.ค. | 31 มี.ค. | ||||||
| เม.ย. 2026 |
เช็คอิน ปิด |
16 เม.ย. | 16 เม.ย. | 1 เม.ย. | 1 เม.ย. | ||||
| GKI preload พร้อมใช้งาน | 30 เม.ย. | 30 เม.ย. | 15 เม.ย. | 15 เม.ย. | |||||
| พฤษภาคม 2026 |
เวลาสิ้นสุด การเช็คอิน |
||||||||
| การโหลด GKI ล่วงหน้าพร้อมแล้ว | |||||||||
| มิ.ย. 2026 |
เวลาสิ้นสุด การเช็คอิน |
1 มิ.ย. | 15 มิ.ย. | 15 มิ.ย. | 1 มิ.ย. | ||||
| GKI preload พร้อมใช้งาน | 15 มิ.ย. | 30 มิ.ย. | 30 มิ.ย. | 15 มิ.ย. | |||||
| ก.ค. 2026 |
เช็คอิน ปิด |
16 ก.ค. | 16 ก.ค. | 1 ก.ค. | 1 ก.ค. | ||||
| การโหลด GKI ล่วงหน้าพร้อมแล้ว | 31 ก.ค. | 31 ก.ค. | 15 ก.ค. | 15 ก.ค. | |||||
| ส.ค. 2026 |
เวลาสิ้นสุด การเช็คอิน |
||||||||
| การโหลด GKI ล่วงหน้าพร้อมแล้ว | |||||||||
| ก.ย. 2026 |
เช็คอิน ปิด |
1 ก.ย. | 16 ก.ย. | 16 ก.ย. | 1 ก.ย. | ||||
| การโหลด GKI ล่วงหน้าพร้อมแล้ว | 15 ก.ย. | 30 ก.ย. | 30 ก.ย. | 15 ก.ย. | |||||
| ต.ค. 2026 |
เวลาสิ้นสุด การเช็คอิน |
16 ต.ค. | 16 ต.ค. | 1 ต.ค. | 1 ต.ค. | ||||
| การโหลด GKI ล่วงหน้าพร้อมแล้ว | 31 ต.ค. | 31 ต.ค. | 15 ต.ค. | 15 ต.ค. | |||||
| พ.ย. 2026 |
เช็คอิน ปิด |
||||||||
| การโหลด GKI ล่วงหน้าพร้อมแล้ว | |||||||||
| ธ.ค. 2026 |
เช็คอิน ปิด |
1 ธ.ค. | 1 ธ.ค. | 1 ธ.ค. | 1 ธ.ค. | ||||
| การโหลด GKI ล่วงหน้าพร้อมแล้ว | 15 ธ.ค. | 15 ธ.ค. | 15 ธ.ค. | 15 ธ.ค. | |||||
ความถูกต้องของบิลด์ GKI สำหรับ OEM
OEM สามารถใช้ Android GKI ที่เพิ่งเปิดตัวได้ OEM สามารถเปิดตัวบิลด์ที่ได้รับการรับรอง GKI ได้ตราบใดที่เป็นไปตามข้อกำหนดของเคอร์เนลที่ได้รับการสนับสนุนระยะยาว (LTS) ในประกาศข่าวสารด้านความปลอดภัยของ Android (ASB)
รุ่น GKI ขนาด 16 KB
ทีมเผยแพร่ GKI จะจัดการการเผยแพร่ GKI ขนาด 16 KB โดยใช้รอบการเผยแพร่รายไตรมาส การทดสอบการรับรอง และกระบวนการหมุนซ้ำเดียวกันกับการเผยแพร่ GKI ขนาด 4 KB ดังนี้
- สาขาที่รองรับ
android15-6.6(เริ่มตั้งแต่เดือนมกราคม 2026)android16-6.12(ตั้งแต่เดือนมีนาคม 2026)android17-6.18(เริ่มตั้งแต่เดือนมิถุนายน 2026)
- สร้างความเท่าเทียมและการรับรอง: ไบนารี GKI ขนาด 16 KB ใช้แท็กแหล่งที่มาและรหัสบิลด์เคอร์เนลเดียวกันกับรุ่น GKI ขนาด 4 KB ที่เกี่ยวข้อง
จนถึงปี 2027 แท็บบิลด์ที่เผยแพร่ขนาด 16 KB ในหน้าบิลด์ที่เผยแพร่
android15-6.6,android16-6.12และandroid17-6.18จะมีไบนารีของ GKI ที่เผยแพร่ขนาด 16 KB ซึ่งไม่ได้รับการรับรอง คุณไม่จำเป็นต้องอัปเดตเคอร์เนลขนาด 4 KB และ 16 KB พร้อมกัน แต่เราขอแนะนำให้ทำเช่นนั้น - รีสปินแบบออนดีมานด์: ขอรีสปิน GKI ขนาด 16 KB โดยใช้กระบวนการและแบบฟอร์มคำขอรีสปินเดียวกับบิลด์ขนาด 4 KB
การเปิดตัวที่ผ่านการรับรองรายไตรมาส
GKI รุ่นรายไตรมาสจะมี boot.img ที่ผ่านการทดสอบแล้ว ซึ่งรวมถึงใบรับรองที่ Google แทรกไว้เพื่อรับรองว่าไบนารีสร้างขึ้นจากเกณฑ์พื้นฐานของซอร์สโค้ดที่รู้จัก
ในแต่ละไตรมาส ระบบจะเลือกรุ่นที่อาจได้รับการเผยแพร่รายไตรมาสของ GKI (ไม่ได้รับการรับรอง) หลังจากวันที่สิ้นสุดการตรวจสอบ หลังจากเลือกรุ่นที่อาจได้รับการเผยแพร่รายไตรมาสแล้ว ระบบจะไม่ยอมรับการเปลี่ยนแปลงใหม่ในรุ่นของเดือนนั้น ในช่วง เวลาที่ปิดรับการเปลี่ยนแปลง จะมีการแก้ไขเฉพาะข้อบกพร่องที่ทำให้การทดสอบไม่ผ่าน เท่านั้น รุ่นที่อาจได้รับการเผยแพร่จะผ่านการประกันคุณภาพตามที่อธิบายไว้ในส่วนคุณสมบัติของ GKI เพื่อยืนยันว่าการทดสอบความสอดคล้องผ่านในบิลด์ GSI+GKI ที่มีอุปกรณ์อ้างอิงและ Cuttlefish
รูปที่ 1 ไทม์ไลน์การเผยแพร่ GKI
คุณสมบัติของ GKI
| ประเภทของบิลด์ GKI | การบังคับใช้คุณภาพ | หมายเหตุ |
|---|---|---|
| รายไตรมาส (ได้รับการรับรอง) | การทดสอบ Cuttlefish
|
|
| การหมุนซ้ำ (ได้รับการรับรอง) | การทดสอบ Cuttlefish
|
|
แหล่งที่มาของอาร์ติแฟกต์บิลด์
OEM สามารถรับอาร์ติแฟกต์สำหรับรุ่นทั้งหมดได้จาก ci.android.com
ดูข้อมูลเพิ่มเติมเกี่ยวกับ CI รวมถึงผลการทดสอบได้ในแดชบอร์ดการรวมอย่างต่อเนื่องของ Android
คำถามที่พบบ่อย
ต่อไปนี้เป็นคำถามที่พบบ่อยเกี่ยวกับกระบวนการเผยแพร่ GKI
เป็นไปได้ไหมที่จะสร้างไบนารี GKI ใหม่โดยอิงตาม GKI ที่เผยแพร่ไปแล้ว
ใช่ การดำเนินการนี้เรียกว่าการหมุนใหม่ ระบบรองรับกระบวนการ Respin ตราบใดที่บิลด์ GKI ที่เผยแพร่ (ซึ่งมีการขอ Respin) เป็นไปตามข้อกำหนด 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 จะมีเฉพาะแพตช์ที่อยู่ด้านบนของเคอร์เนลที่ผ่านการรับรองรายไตรมาสซึ่งเลือกไว้ การส่งกลับเหล่านี้มีการแก้ไขข้อบกพร่องที่บล็อกการเปิดตัวทั้งหมด ที่ OEM รายงานจนถึงเวลาที่กำหนดโดยใช้รุ่นรายไตรมาสพื้นฐานที่เกี่ยวข้อง ดูตัวอย่างต่อไปนี้เกี่ยวกับวิธีที่สถานการณ์ประเภทนี้เกิดขึ้น
- OEM1 และ OEM2 ตัดสินใจใช้ไบนารี GKI รุ่นเดือนพฤศจิกายน 2021
- OEM1 และ OEM2 พบปัญหาที่ต้องใช้แพตช์เพื่อรองรับ แพตช์เหล่านี้อาจแตกต่างกันหรือเหมือนกันก็ได้
- การแก้ไขเพิ่มเติมจากไบนารีเดือนพฤศจิกายน 2021 มีการแก้ไขการบล็อกการเปิดตัวที่รายงานโดยทั้ง OEM1 และ OEM2 ในระหว่างกรอบเวลาการแก้ไขเพิ่มเติม แต่ไม่มีอะไรเพิ่มเติม
- ปัญหาที่กล่าวถึงในหัวข้อย่อยที่ 2 จะรวมอยู่ในการเผยแพร่ GKI รายไตรมาสครั้งต่อๆ ไปด้วย
การแก้ไขในเดือนตุลาคมมีแพตช์ทั้งหมดที่ OEM ส่งมา แต่แพตช์อื่นๆ ของ OEM ส่งผลกระทบต่อเรา เนื่องจากยังไม่ได้ทดสอบกับผลิตภัณฑ์ของเราโดยเฉพาะ เป็นไปได้ไหมที่จะรวมเฉพาะแพตช์ของเรา
ซึ่งทำไม่ได้ เส้นทางการหมุนซ้ำสำหรับ OEM แต่ละรายไม่สามารถปรับขนาดได้ แต่ทีม GKI จะตรวจสอบการเปลี่ยนแปลงทุกรายการที่เข้าสู่การสร้าง Respin และ ทดสอบการเปลี่ยนแปลงกับฮาร์ดแวร์ทั้งหมดที่มีก่อนที่จะสร้างบิลด์ใหม่ หากทีม GKI พบว่าปัญหาเกิดขึ้นเฉพาะกับ OEM, อุปกรณ์ หรือรุ่นใดรุ่นหนึ่ง ทีม GKI จะยืนยันได้ว่าโค้ดที่เพิ่มโดยการเปลี่ยนแปลงจะทำงานเฉพาะในอุปกรณ์ รุ่น หรือ SKU ที่ได้รับผลกระทบเท่านั้น
ประโยชน์หลักจากการหมุนเวียนแบบรวมคืออุปกรณ์ทุกเครื่องที่ใช้ฐานรุ่นเดียวกันจะได้รับประโยชน์ซึ่งกันและกัน โดยเฉพาะอย่างยิ่งหากข้อบกพร่องที่พบเป็นข้อบกพร่องทั่วไปและส่งผลต่อผู้ใช้ทั้งหมด ข้อบกพร่องของเคอร์เนลหลักที่พบในการทดสอบของผู้ให้บริการเป็นตัวอย่างที่เฉพาะเจาะจงของแนวคิดนี้
มีสถานการณ์ใดบ้างที่ Google ให้ข้อมูลที่เฉพาะเจาะจงเกี่ยวกับแพตช์ OEM และสถานการณ์ของปัญหา เพื่อให้ OEM สามารถประเมินผลกระทบและความเสี่ยงของการใช้แพตช์กับผลิตภัณฑ์ของตนได้
Google จะไม่เพิ่มการเปลี่ยนแปลงลงในบิลด์ที่สร้างใหม่จนกว่าทีม GKI จะเข้าใจปัญหาและรวบรวมรายละเอียดทั้งหมด คุณสามารถดูข้อมูลนี้ได้ในบันทึกการเปลี่ยนแปลง (ข้อความคอมมิต) Google ไม่เปิดเผยว่าอุปกรณ์ใดได้รับผลกระทบ แต่ OEM สามารถดูคำอธิบายปัญหาและวิธีแก้ปัญหาได้ในบันทึกการเปลี่ยนแปลงเสมอ