หน้านี้อธิบายวิธีเผยแพร่ GKI ซึ่งรวมถึงรายสัปดาห์ รายเดือน และออก ของรุ่นฉุกเฉิน เอกสารฉบับนี้มีวัตถุประสงค์เพื่อให้ OEM เป็นที่ แนวทางเกี่ยวกับสถานที่ในการสมัคร GKI และกระบวนการสำหรับช่วงนอกวงการ การแก้ไขปัญหาฉุกเฉิน OEM ยังสามารถใช้ GKI การพัฒนา เพื่อดูวิธีที่พาร์ทเนอร์ทำงานร่วมกับทีม Kernel ของ Android เพื่อเพิ่มประสิทธิภาพ เคอร์เนล GKI สำหรับผลิตภัณฑ์ของตน
ช่วงเวลาเผยแพร่ GKI
GKI เผยแพร่ตามแผนการสนทนารายเดือนหลังจาก KMI หยุดทำงาน
รุ่น GKI ของ Android 13, 14 และ 15
ตารางต่อไปนี้เกี่ยวข้องกับ
android13-5.10
android13-5.15
และ
android14-5.15
โปรดดูวันที่เผยแพร่ในเดือนกันยายน 2024 ในประกาศนี้
บิลด์ที่ได้รับการรับรองรายเดือนของ GKI | วันที่ยกเลิกเช็คอิน | วันที่พร้อมโหลด GKI ล่วงหน้า | ยืนยันหรือไม่ |
---|---|---|---|
พฤศจิกายน | 11 พฤศจิกายน 2024 | 27 พฤศจิกายน 2024 | ใช่ |
มกราคม | 17 มกราคม 2025 | 31 มกราคม 2025 | ใช่ |
กุมภาพันธ์ | 14 กุมภาพันธ์ 2025 | 28 กุมภาพันธ์ 2025 | ใช่ |
ตารางต่อไปนี้เกี่ยวข้องกับ
android14-6.1
และ
android15-6.6
โปรดดูวันที่เผยแพร่ในเดือนกันยายน 2024 ในประกาศนี้
บิลด์ที่ได้รับการรับรองรายเดือนของ GKI | วันที่ยกเลิกเช็คอิน | วันที่พร้อมโหลด GKI ล่วงหน้า | ยืนยันแล้วใช่ไหม |
---|---|---|---|
ตุลาคม | 1 ตุลาคม 2024 | 14 ตุลาคม 2024 | ใช่ |
พฤศจิกายน | 1 พฤศจิกายน 2024 | 15 พฤศจิกายน 2024 | ใช่ |
ธันวาคม | 2 ธันวาคม 2024 | 16 ธันวาคม 2024 | ใช่ |
มกราคม | 6 มกราคม 2025 | 22 มกราคม 2025 | ใช่ |
เปิดตัว Android 12 GKI
หลังเดือนพฤษภาคม 2024 การเผยแพร่ GKI android12-5.10
รายการจะเกิดขึ้นตามกำหนดการรายไตรมาสและ
ในช่วงกลางเดือน
ตารางต่อไปนี้เกี่ยวข้องกับ
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 สำหรับ OEM
OEM ใช้ Android GKI ที่เพิ่งเปิดตัวได้ OEM สามารถเปิดตัวด้วย บิลด์ที่ผ่านการรับรอง GKI ตราบใดที่เป็นไปตามข้อกําหนด LTS ใน กระดานข่าวสารด้านความปลอดภัยของ Android (ASB)
เวอร์ชันสำหรับการพัฒนารายสัปดาห์
รุ่นจะได้รับการทดสอบกับ Cuttlefish เพื่อให้ผ่านเกณฑ์คุณภาพขั้นต่ำไบนารี GKI มีให้บริการแบบบริการตนเองจาก Android CI เมื่อรวมการเปลี่ยนแปลงแล้ว บิลด์รายสัปดาห์จะไม่ได้รับการรับรอง แต่สามารถใช้เป็น ซึ่งเป็นเกณฑ์สำหรับการพัฒนาและการทดสอบ ใช้งานบิลด์รายสัปดาห์ไม่ได้ เวอร์ชันอุปกรณ์ที่ใช้งานจริงสำหรับผู้ใช้ปลายทาง
รุ่นที่ได้รับการรับรองรายเดือน
GKI รุ่นรายเดือนมี boot.img
ที่ผ่านการทดสอบซึ่งประกอบด้วย
แทรกใบรับรองเพื่อรับรองว่าไบนารีสร้างขึ้นจากแหล่งที่มาที่รู้จัก
เส้นฐานของโค้ด
ในแต่ละเดือน ระบบจะเลือกผู้สมัครที่เผยแพร่รายเดือนสำหรับ GKI (ไม่ได้รับการรับรอง) หลังจากวันที่ปิดรับเช็คอิน ซึ่งปกติแล้วจะเป็นบิลด์รายสัปดาห์ครั้งที่ 2 ในเดือนนั้น หลังจากที่เลือกผู้สมัครที่เผยแพร่รายเดือนแล้ว ใหม่ การเปลี่ยนแปลงจะไม่ได้รับการยอมรับในรุ่นของเดือนนั้น ระหว่างหน้าต่างที่ปิด คุณสามารถแก้ไขได้เฉพาะข้อบกพร่องที่ทำให้การทดสอบล้มเหลวเท่านั้น ผู้สมัครรับเลือกตั้งรุ่นนั้นๆ ได้รับการประกันคุณภาพ ตามที่อธิบายไว้ใน GKI ส่วนการรับรอง - เพื่อให้แน่ใจว่าการทดสอบการปฏิบัติตามข้อกำหนดจะผ่าน บิลด์ GSI+GKI ที่มีอุปกรณ์อ้างอิงและหมึกกระดอง
รูปที่ 1 ลำดับเวลาการเผยแพร่ GKI
กระบวนการส่งแอปอีกครั้งในกรณีฉุกเฉิน
การรีสปินหมายถึงกระบวนการรวม การสร้างใหม่ การทดสอบอีกครั้ง และการรับรองไบนารีอีกครั้งหลังจากการเผยแพร่เคอร์เนล GKI สู่สาธารณะ คุณส่งคำขอรีสตาร์ทของไบนารีที่ผ่านการรับรองสำหรับรายการต่อไปนี้ได้ สถานการณ์:
- หากต้องการอัปเดตรายการสัญลักษณ์
- เพื่อใช้การแก้ไขข้อบกพร่อง รวมถึงข้อบกพร่องที่พบระหว่างการอนุมัติจากห้องทดลองของผู้ให้บริการ
- เพิ่มฮุกของผู้ให้บริการ
- เพื่อใช้แพตช์กับฟีเจอร์ที่มีอยู่
- วิธีใช้แพตช์ความปลอดภัย (หลังผ่านไป 6 เดือน)
แพตช์ด้านความปลอดภัยจะผสานรวมเป็น Branch ของรุ่นโดยอัตโนมัติเป็นเวลาสูงสุด 6 เดือนหลังจากเปิดตัวสาขา หลังจากครบ 6 เดือนแล้ว คุณต้อง ส่งคำขออีกครั้งเพื่อใช้แพตช์ความปลอดภัยกับ Branch
หลักเกณฑ์การส่งคำขออีกครั้ง
ก่อนที่จะส่งคำขอรีสตาร์ท โปรดดูหลักเกณฑ์ต่อไปนี้
การรีสปินใช้ได้เฉพาะในสาขารุ่นหลังจากเปิดตัวรุ่นแรกแบบสาธารณะของบิลด์รายเดือนแล้วเท่านั้น
ระบบยอมรับคำขอ Respin สำหรับ Branch ของรุ่นที่เจาะจงสำหรับ สูงสุด 6 เดือนหลังจากการเผยแพร่สู่สาธารณะครั้งแรก หลังจากผ่านไป 6 เดือน เวอร์ชันย่อยจะมีสิทธิ์ส่งอีกครั้งสำหรับแพตช์ความปลอดภัยที่ระบุไว้ในกระดานข่าวสารความปลอดภัยของ Android เท่านั้น
เมื่อข้อกําหนดของ LTS ที่กําหนดโดยกระดานข่าวสารด้านความปลอดภัยของ Android (ASB) ทําให้สาขาไม่เป็นไปตามข้อกําหนด ระบบจะเลิกใช้งานสาขานั้น ปักหมุดคำขออีกครั้ง ไม่ยอมรับสำหรับสาขาที่เลิกใช้งานแล้ว วันที่เลิกใช้งานสำหรับ Branch ของรุ่น GKI หนึ่งๆ จะรวมอยู่ในบันทึกประจำเดือนของบิลด์รุ่น GKI ในส่วนรุ่น ข้อกำหนดของ LTS จะอัปเดตในเดือนพฤษภาคมและพฤศจิกายนเพื่อการวางแผนในอนาคต ทุกปี ตัวอย่างเช่น
android12-5.10-2023-07
Branch (5.10.177) ใช้ไม่ได้กับการ respin หลังจากวันที่ 1 พฤษภาคม 2024 เนื่องจากandroid12-5.10-2023-07
สาขา (5.10.177) ไม่เป็นไปตามข้อกำหนด LTS ของ ASB-2024-05การย้อนกลับใช้ได้กับการแก้ไขข้อบกพร่องโดยเร่งด่วน การอัปเดตรายการสัญลักษณ์ หรือ เพื่อใช้แพตช์เพื่อแก้ไขฟีเจอร์ที่มีอยู่
แพตช์ทั้งหมดที่เข้าสู่ Branch ของรุ่นรายเดือนต้องผสานรวมเข้ากับ สาขาการพัฒนา GKI หลัก ตัวอย่างเช่น หากจำเป็นต้องมีแพตช์สำหรับ respin ของ
android12-5.10-2022-09
จะต้องรวมเข้าเป็นandroid12-5.10
คุณต้องเลือกแพตช์จากสาขาการพัฒนา GKI หลักและ อัปโหลดแพตช์ไปยัง Branch ของรุ่นรายเดือน
ในคำขอแสดงผลใหม่ คุณต้องกำหนดลำดับความสำคัญ (ความเร่งด่วน) ให้กับคำขอนั้น ลำดับความสำคัญนี้ช่วยให้ทีม GKI สามารถสนับสนุนพาร์ทเนอร์ได้ดีขึ้นอย่างรวดเร็ว สำหรับคำขอที่สำคัญหรือเร่งด่วน ให้เลือกลำดับความสำคัญเป็น P0 สำหรับ P0 และ P1 คุณต้องพิสูจน์ความเร่งด่วนด้วย ตารางต่อไปนี้แสดง การแมปลำดับความสำคัญของข้อบกพร่องและระยะเวลาในการแก้ปัญหา (ESRT):
ความสำคัญ ESRT P0 2 วันทำการ P1 5 วันทำการ P2 10 วันทำการ P3 15 วันทำการ
คุณต้องส่งคำขอส่งอีกครั้งแยกกันสำหรับแต่ละสาขารุ่น ตัวอย่างเช่น หาก จำเป็นต้องมีการ respin สำหรับทั้ง
android12-5.10-2022-08
และandroid12-5.10-2022-09
คุณต้องสร้างคำขอปักหมุดอีกครั้ง 2 รายการหลังจากมีบิลด์และทำเครื่องหมายคำขอให้ส่งคำขออีกครั้งว่าแก้ไขแล้ว คุณจะ ไม่ควรเปิดคำขอให้แสดงอีกครั้งเพื่อเพิ่ม CL เพิ่มเติม คุณต้องส่ง ส่งคำขออีกครั้งหากมีแพตช์เพิ่มเติมที่ต้องรวม
สำหรับ CL แต่ละรายที่อยู่ภายใต้การพิจารณา ให้เพิ่มแท็กต่อไปนี้
Bug
: ต้องเพิ่มรหัสข้อบกพร่องในข้อความคอมมิตสำหรับ CL แต่ละรายการChange-Id
: ต้องเหมือนกับ Change-Id ของการเปลี่ยนแปลง Branch ฐาน
หากคำขอรีสตาร์ทต้องการการตอบกลับจากคุณ และคุณไม่ได้ตอบกลับภายใน 3 วันทำการ ลำดับความสำคัญจะลดลง 1 ระดับ (เช่น P0 จะดาวน์เกรดเป็น P1) หากคุณไม่ตอบกลับเป็นเวลา 2 สัปดาห์ ข้อบกพร่องจะเป็น ทำเครื่องหมายว่าไม่แก้ไข (ล้าสมัย)
ส่งคำขอหมุนอีกครั้ง
แผนภาพต่อไปนี้จะแสดงกระบวนการหมุนอีกครั้ง กระบวนการจะเริ่มต้นเมื่อ พาร์ทเนอร์ OEM (คุณ) เป็นผู้ส่งคำขออีกครั้ง
รูปที่ 2 กระบวนการหมุนอีกครั้ง
วิธีเข้าสู่กระบวนการส่งอีกครั้ง
- กรอกข้อมูลในแบบฟอร์มคำขอ GKI Respin
และติดต่อผู้จัดการลูกค้าด้านเทคนิคของ Google ทันที แบบฟอร์มนี้
สร้างข้อบกพร่องในการส่งคำขออีกครั้ง GKI คุณจะเห็นข้อบกพร่องของคําขอให้กลับมาทำงานอีกครั้ง
(ผู้ขอ) ทีม GKI และบุคคลทั่วไปที่คุณเพิ่มลงใน
รายการ CC
- หากมีการแก้ไขอยู่แล้ว คำขอควรชี้ไปยังแพตช์ โปรดส่งใน AOSP เพื่อให้ Google ตรวจสอบ หากส่งแพตช์ไม่ได้ หากเป็นไปได้ คุณต้องแนบแพตช์เป็นไฟล์ข้อความในคำขอ
- หากคุณไม่มีการแก้ไข คำขอต้องมีข้อมูล ข้อมูลมากที่สุดเท่าที่จะทำได้ รวมถึงหมายเลขเวอร์ชันเคอร์เนลและบันทึก เพื่อให้ Google สามารถช่วยแก้ไขข้อบกพร่องของปัญหาได้
- ทีม GKI ของ Google จะตรวจสอบ และอนุมัติ หรือมอบหมายคำขอกลับไปยัง หากต้องการข้อมูลเพิ่มเติม
- หลังจากยอมรับการแก้ไขแล้ว ทีมงาน Google GKI จะตรวจสอบโค้ด (CR+2) เปลี่ยน การตรวจสอบจะเริ่มต้นกรอบเวลา ESRT ทีม GKI ผสานรวม สร้าง และทดสอบ เพื่อหาการเกิดปัญหาซ้ำ และรับรองการเปลี่ยนแปลง
- เปิดตัวไบนารีใน ci.android.com กรอบเวลา ESRT จะสิ้นสุดลงและทีม GKI ของ Google จะทำเครื่องหมายคำขอว่าแก้ไขแล้ว และ ให้อ้างอิงบิลด์ของ respin จะมีการโพสต์บิลด์ respin ใน หน้าบิลด์รุ่น Kernel Image (GKI) ทั่วไป
คุณสมบัติของ GKI
ประเภทของบิลด์ GKI | การบังคับใช้คุณภาพ | หมายเหตุ |
---|---|---|
รายสัปดาห์ | การทดสอบ Cuttlefish
|
|
รายเดือน (ที่ผ่านการรับรอง) | การทดสอบหมึกกระดอง
|
|
Respins (ผ่านการรับรอง) | การทดสอบหมึกกระดอง
|
|
จะหาอาร์ติแฟกต์ของบิลด์ได้จากที่ใด
คุณรับอาร์ติแฟกต์สำหรับการเผยแพร่ทั้งหมดได้จาก 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/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 มีเฉพาะแพตช์ที่อยู่เหนือใบรับรองรายเดือนที่รับรองแล้วเท่านั้น เคอร์เนลที่เลือกไว้แล้ว การตอบกลับเหล่านี้มีข้อบกพร่องในการบล็อกไม่ให้เปิดใช้ทั้งหมด การแก้ไขที่รายงานจนถึงเวลาที่กำหนดโดย OEM โดยใช้ฐานที่สอดคล้องกัน รายเดือน ลองดูตัวอย่างต่อไปนี้
- OEM1 และ OEM2 ตัดสินใจใช้ GKI ที่มีการเปิดตัวแบบไบนารีตั้งแต่เดือนพฤศจิกายน 2021
- OEM1 และ OEM2 พบปัญหาที่ต้องมีแพตช์เพื่อรับการสนับสนุน แพตช์เหล่านี้ อาจแตกต่างหรือเหมือนกันก็ได้
- การตอบกลับจากไบนารีของเดือนพฤศจิกายน 2021 มีการบล็อกการเปิดใช้ การแก้ไขที่รายงานโดยทั้ง OEM1 และ OEM2 ระหว่างกรอบเวลาการรีสตาร์ท แต่ไม่มีการแก้ไขใด และอีกมากมาย
- ปัญหาที่กล่าวถึงในหัวข้อย่อยที่ 2 จะรวมอยู่ใน GKI ถัดไปด้วย รายเดือน
การตอบกลับใหม่ในเดือนตุลาคมมีแพตช์ของ OEM ทั้งหมดที่ส่งมา แต่แพตช์ OEM อื่นๆ ส่งผลกระทบต่อเรา เนื่องจากแพตช์เหล่านี้ไม่ได้รับการทดสอบกับผลิตภัณฑ์ของเราโดยเฉพาะ เป็นไปได้ไหมที่จะรวมเฉพาะแพตช์ของเรา
เป็นไปไม่ได้ "ต่อ OEM" เส้นทาง Respin ปรับขยายไม่ได้ แต่ทีม GKI จะพิจารณาทุกการเปลี่ยนแปลงที่ต้องปรับปรุง และทดสอบการเปลี่ยนแปลงกับฮาร์ดแวร์ที่มีอยู่ทั้งหมดก่อนสร้าง งานสร้าง หากทีม GKI พบว่าปัญหาเกิดเฉพาะกับ OEM, อุปกรณ์ หรือ ทำให้ทีม GKI สามารถมั่นใจได้ว่าโค้ดที่เพิ่มจากการเปลี่ยนแปลงจะทำงาน อุปกรณ์ รุ่น หรือ SKU ที่ได้รับผลกระทบ
ประโยชน์หลักๆ จากการตอบกลับแบบรวมก็คืออุปกรณ์ทุกเครื่องที่ ใช้ประโยชน์จากพื้นฐานการเผยแพร่เดียวกัน โดยเฉพาะอย่างยิ่งหากข้อบกพร่อง ที่ค้นพบเป็นคำทั่วไปและใช้ได้กับผู้ใช้ทุกคน พบข้อบกพร่องหลักของเคอร์เนล ในการทดสอบของผู้ให้บริการ คือตัวอย่างหนึ่งของแนวคิดนี้
มีสถานการณ์ที่ Google ให้ข้อมูลที่เฉพาะเจาะจงเกี่ยวกับแพตช์ OEM และสถานการณ์ปัญหาเพื่อให้ OEM ประเมินผลกระทบและความเสี่ยงในการใช้แพตช์กับผลิตภัณฑ์ของตนหรือไม่
Google จะไม่เพิ่มการเปลี่ยนแปลงในบิลด์ respin จนกว่าจะเข้าใจปัญหา และรายละเอียดทั้งหมดได้รับการรวบรวมแล้ว คุณจะเห็นได้ในบันทึกการเปลี่ยนแปลง (ข้อความคอมมิต) Google จะไม่เปิดเผยว่าปัญหานี้ส่งผลต่ออุปกรณ์ใด OEM จะดูคำอธิบายและวิธีแก้ไขปัญหาได้เสมอในบันทึกการเปลี่ยนแปลง