เคอร์เนลทั่วไปของ Android

เคอร์เนลทั่วไปของ AOSP (หรือที่เรียกว่าเคอร์เนลทั่วไปของ Android หรือ ACK) เป็นเคอร์เนลที่ดาวน์โหลดจาก kernel.org และมีแพตช์ ที่ชุมชน Android สนใจซึ่งยังไม่ได้ผสานรวมเข้ากับเคอร์เนลหลักหรือ เคอร์เนลที่รองรับระยะยาว (LTS) โดยแพตช์เหล่านี้อาจรวมถึง

  • การย้อนพอร์ตและการเลือกเชอร์รีของฟังก์ชันการทำงานต้นทางที่จำเป็นสำหรับฟีเจอร์ของ Android
  • ฟีเจอร์ที่พร้อมใช้งานสำหรับอุปกรณ์ Android แต่ยังอยู่ระหว่างการพัฒนาในต้นทาง
  • ฟีเจอร์ของผู้ให้บริการ/OEM ที่เป็นประโยชน์ต่อพาร์ทเนอร์รายอื่นๆ ในระบบนิเวศ

android-mainline เป็นสาขาการพัฒนาหลักสำหรับฟีเจอร์ Android Linux mainline จะผสานรวมเข้ากับ android-mainline ทุกครั้งที่ Linus Torvalds โพสต์ รุ่นหรือรุ่นที่คาดว่าจะเผยแพร่ ก่อนปี 2019 เคอร์เนลทั่วไปของ Android สร้างขึ้นโดยการโคลนเคอร์เนล LTS ที่ประกาศล่าสุดและเพิ่มแพตช์เฉพาะของ Android กระบวนการนี้มีการเปลี่ยนแปลงในปี 2019 เพื่อแยกเคอร์เนล Android common ใหม่จาก android-mainline โมเดลใหม่นี้ช่วยลดความพยายามอย่างมากในการส่งต่อพอร์ตและทดสอบแพตช์ Android โดยให้ผลลัพธ์เดียวกันได้ทีละน้อย android-mainline ได้รับการทดสอบอย่างต่อเนื่องและมีนัยสำคัญ โมเดลนี้จึงมีเคอร์เนลคุณภาพสูงตั้งแต่วันที่เผยแพร่

เมื่อมีการประกาศ LTS ใหม่ในต้นทาง ระบบจะแยกเคอร์เนลทั่วไปที่เกี่ยวข้องออกจาก android-mainline ซึ่งจะช่วยให้พาร์ทเนอร์เริ่มโปรเจ็กต์ได้ก่อน การประกาศเวอร์ชัน LTS โดยการผสานจาก android-mainline หลังจากสร้าง กิ่งเคอร์เนลทั่วไปใหม่แล้ว พาร์ทเนอร์จะเปลี่ยนแหล่งที่มาของการผสาน ไปยังกิ่งใหม่ได้อย่างราบรื่น

ส่วนสาขาเคอร์เนลอื่นๆ ที่พบบ่อยจะได้รับการผสานจากเคอร์เนล LTS ที่เกี่ยวข้องเป็นประจำ โดยปกติแล้ว การผสานเหล่านี้จะดำเนินการทันทีหลังจากที่โพสต์การเผยแพร่ LTS ตัวอย่างเช่น เมื่อมีการโพสต์ Linux 6.1.75 ระบบจะผสานรวมเข้ากับเคอร์เนลทั่วไป 6.1 (android14-6.1) เราขอแนะนำให้พาร์ทเนอร์อัปเดตเคอร์เนลเพื่อให้เป็นเวอร์ชันล่าสุดที่มีการแก้ไขข้อบกพร่องเฉพาะ LTS และ Android

ACK KMI kernel branch

Kernel ของ GKI มีอินเทอร์เฟซโมดูล Kernel ที่เสถียร KMI จะได้รับการระบุอย่างไม่ซ้ำกัน ตามเวอร์ชันของเคอร์เนลและรุ่นของแพลตฟอร์ม Android ดังนั้น จึงตั้งชื่อสาขาเป็น ANDROID_RELEASE-KERNEL_VERSION เช่น เคอร์เนล 6.1 GKI สำหรับ Android 14 มีชื่อว่า android14-6.1 สำหรับ Android 15 เราได้เปิดตัวเคอร์เนล GKI android15-6.6

เคอร์เนลฟีเจอร์และเคอร์เนลเปิดตัว

ก่อน Android 15 จะใช้เคอร์เนล 3 รายการล่าสุดใดก็ได้ ในการเปิดตัวอุปกรณ์ ตั้งแต่ Android 15 เป็นต้นไป คุณจะใช้เคอร์เนล 2 เวอร์ชันล่าสุด ในการเปิดตัวอุปกรณ์ได้ เคอร์เนลที่เปิดตัวสำหรับ Android 15 คือ android15-6.6 และ android14-6.1

เนื่องจากไม่จำเป็นต้องอัปเกรดเคอร์เนลเมื่ออัปเดตแพลตฟอร์ม รุ่น เคอร์เนลที่ไม่มีฟีเจอร์ล่าสุดสำหรับแพลตฟอร์มรุ่นจึงยัง ใช้เปิดตัวอุปกรณ์ได้ ดังนั้นเคอร์เนลที่ออกแบบมาสำหรับ Android 14 เช่น android14-6.1 จึงใช้ใน อุปกรณ์ได้แม้หลังจากอัปเกรดแพลตฟอร์มเป็น Android 15 แล้ว

การเปิดตัวแพลตฟอร์ม Android เปิดตัวเคอร์เนล เคอร์เนลฟีเจอร์
Android 16 (2025) android16-6.12
android15-6.6
android16-6.12
Android 15 (2024) android15-6.6
android14-6.1
android15-6.6
Android 14 (2023) android14-6.1
android14-5.15
android13-5.15
android13-5.10
android12-5.10
android14-6.1
android14-5.15
Android 13 (2022) android13-5.15
android13-5.10
android12-5.10
android12-5.4
android11-5.4
android13-5.15
android13-5.10
Android 12 (2021) android12-5.10
android12-5.4
android11-5.4
android12-5.10
android12-5.4

1 อาจมีข้อจำกัดเพิ่มเติมหากมีการอัปเดต BSP ที่เกี่ยวข้องสำหรับการเปิดตัวแพลตฟอร์ม ดูรายละเอียดได้ที่ ออบเจ็กต์อินเทอร์เฟซของผู้ให้บริการ - จับคู่สาขาเคอร์เนล

ลำดับชั้นของเคอร์เนลทั่วไป

แยกสาขาจาก android-mainline

ระดับบนสุดของลำดับชั้นเคอร์เนลทั่วไปแสดงในรูปที่ 1

การสร้างเคอร์เนลทั่วไปจากเคอร์เนล android-mainline

รูปที่ 1 การสร้างเคอร์เนลทั่วไปจากเคอร์เนล android-mainline

โปรดทราบว่าเราได้แยกสาขาเคอร์เนลทั่วไปของ Android android14-6.1 ใหม่จาก android-mainline ในปี 2022 ในปี 2023 เมื่อมีการประกาศ LTS รุ่นถัดไป android15-6.6 ได้แยกสาขาจาก android-mainline

ดังที่แสดงในรูปที่ 1 เคอร์เนลแต่ละเวอร์ชันสามารถเป็นพื้นฐานสำหรับเคอร์เนล GKI 2 รายการ ตัวอย่างเช่น เคอร์เนล v5.15 ทั้ง 2 รายการคือ android13-5.15 และ android14-5.15 ซึ่งเป็นเคอร์เนลฟีเจอร์สำหรับการเปิดตัวแพลตฟอร์มที่เกี่ยวข้อง ซึ่งเป็นกรณีเดียวกับ 5.10 ด้วย โดย android12-5.10 สร้างขึ้นเมื่อมีการประกาศ LTS และ android13-5.10 แยกสาขาจาก android12-5.10 ที่เหตุการณ์สำคัญของฟีเจอร์เคอร์เนลที่เสร็จสมบูรณ์ในฤดูใบไม้ผลิปี 2021 เพื่ออนุญาตให้พัฒนาฟีเจอร์สำหรับ Android 13 ตั้งแต่ Android 15 (2024) เป็นต้นไป จะมีเคอร์เนล GKI ใหม่เพียง เคอร์เนลเดียวต่อเวอร์ชันเคอร์เนล (ไม่มีเคอร์เนล android15-6.1)

วงจรการใช้งานของกิ่ง ACK KMI

วงจรการใช้งานของสาขา ACK KMI แสดงในรูปที่ 2

6.6 วงจรการใช้งานของกิ่ง ACK KMI

รูปที่ 2 6.6 วงจรการใช้งานของกิ่ง ACK KMI

รูปที่ 2 มุ่งเน้นที่สาขา ACK KMI สำหรับ 6.6 เพื่อชี้แจงกระบวนการพัฒนาและวงจรสาขา

สาขา ACK KMI แต่ละสาขาจะหมุนเวียนผ่าน 3 ขั้นตอนที่ระบุในรูปที่ 2 โดย ใช้สีที่แตกต่างกันในแต่ละสาขา ดังที่แสดง LTS จะได้รับการผสานเป็นประจำไม่ว่า จะอยู่ในระยะใดก็ตาม

ระยะการพัฒนา

เมื่อสร้างแล้ว สาขา ACK KMI จะเข้าสู่ระยะการพัฒนา (มีป้ายกำกับเป็น dev ในรูปที่ 2) และเปิดรับการมีส่วนร่วมในการเพิ่มฟีเจอร์สำหรับการเปิดตัวแพลตฟอร์ม Android รุ่นถัดไป ในรูปที่ 2 android15-6.6 สร้างขึ้นเมื่อมีการประกาศว่า 6.6 เป็นเคอร์เนล LTS ต้นทางใหม่

ระยะการรักษาให้คงที่

เมื่อมีการประกาศว่า ACK KMI Branch มีฟีเจอร์ครบถ้วนแล้ว ก็จะเข้าสู่ระยะการปรับเสถียร (มีป้ายกำกับเป็นเสถียรในรูปที่ 2) เรายังคงรับฟีเจอร์ของพาร์ทเนอร์และการแก้ไขข้อบกพร่อง แต่จะเปิดใช้การติดตาม KMI เพื่อตรวจหาการเปลี่ยนแปลงที่ส่งผลต่ออินเทอร์เฟซ ในระยะนี้ เราจะยอมรับการเปลี่ยนแปลงที่ส่งผลกับ KMI และอัปเดตคำจำกัดความของ KMI ตามจังหวะที่กำหนดไว้ล่วงหน้า (โดยปกติคือทุกๆ 2 สัปดาห์) ดูรายละเอียดเกี่ยวกับการตรวจสอบ KMI ได้ในภาพรวม GKI

ระยะหยุดการทำงานของ KMI

ก่อนที่จะมีการพุชแพลตฟอร์มเวอร์ชันใหม่ไปยัง AOSP สาขา ACK KMI จะหยุดการเปลี่ยนแปลง และจะหยุดการเปลี่ยนแปลงตลอดอายุการใช้งานของสาขา ซึ่งหมายความว่าจะไม่มีการยอมรับการเปลี่ยนแปลงที่ทำให้ KMI ใช้งานไม่ได้ เว้นแต่จะพบปัญหาด้านความปลอดภัยที่ร้ายแรงซึ่งไม่สามารถแก้ไขได้โดยไม่ส่งผลกระทบต่อ KMI ที่เสถียร เราอาจแก้ไขหรือทิ้งแพตช์บางรายการที่ผสานจาก LTS เพื่อหลีกเลี่ยงไม่ให้ KMI เสียหาย หากไม่จำเป็นต้องใช้การแก้ไข สำหรับอุปกรณ์ Android

เมื่อมีการระงับสาขา ACK KMI คุณจะยอมรับการแก้ไขข้อบกพร่องและฟีเจอร์ของพาร์ทเนอร์ได้ ตราบใดที่เคอร์เนลทั่วไปของ KMI ที่มีอยู่ไม่เสียหาย คุณขยาย KMI ได้ ด้วยสัญลักษณ์ที่ส่งออกใหม่ ตราบใดที่อินเทอร์เฟซที่ประกอบเป็น KMI ปัจจุบัน ไม่ได้รับผลกระทบ เมื่อมีการเพิ่มอินเทอร์เฟซใหม่ลงใน KMI อินเทอร์เฟซเหล่านั้นจะกลายเป็นอินเทอร์เฟซที่เสถียรทันที และจะไม่ได้รับผลกระทบจากการเปลี่ยนแปลงในอนาคต

ตัวอย่างเช่น การเปลี่ยนแปลงที่เพิ่มฟิลด์ลงในโครงสร้างที่ใช้โดยอินเทอร์เฟซ KMI common kernel จะไม่ได้รับอนุญาตเนื่องจากเป็นการเปลี่ยนแปลงคำจำกัดความของอินเทอร์เฟซ

struct foo {
  int original_field1;
  int original_field2;
  int new_field;  // Not allowed
};

int do_foo(struct foo &myarg)
{
  do_stuff(myarg);
}
EXPORT_SYMBOL_GPL(do_foo);

แต่คุณเพิ่มฟังก์ชันใหม่ได้โดยทำดังนี้

struct foo2 {
  struct foo orig_foo;
  int new_field;
};

int do_foo2(struct foo2 &myarg)
{
  do_stuff2(myarg);
}
EXPORT_SYMBOL_GPL(do_foo2);

ตลอดอายุการใช้งานของเคอร์เนล GKI ระบบจะรักษาความเข้ากันได้แบบย้อนหลังกับพื้นที่ผู้ใช้ เพื่อให้ใช้เคอร์เนลได้อย่างปลอดภัยสำหรับแพลตฟอร์ม Android ที่เปิดตัวอุปกรณ์ การทดสอบอย่างต่อเนื่องกับรุ่นก่อนหน้า ช่วยรักษาความเข้ากันได้ ดังนั้นในรูปที่ 2 android15-6.6 เคอร์เนลจึงใช้ได้กับอุปกรณ์ Android 15 ขึ้นไป เนื่องจากการเปิดตัวแพลตฟอร์ม Android ยังใช้ร่วมกับเวอร์ชันก่อนหน้าได้ด้วย จึงสามารถใช้android14-6.1เคอร์เนลกับอุปกรณ์ Android 15 ได้ทั้งสำหรับการเปิดตัวหรือการอัปเกรด

หมายเลขรุ่น KMI

หากมีการผสาน LTS ในช่วงการสร้างความเสถียร ปัญหาด้านความปลอดภัย หรือ เหตุการณ์อื่นๆ หลังจากนี้ที่ต้องยอมรับแพตช์ที่เปลี่ยนแปลง KMI ระบบจะเพิ่มหมายเลขรุ่น KMI ที่บันทึกไว้ใน build.config.common คุณดูรุ่น KMI ปัจจุบันได้โดยใช้คำสั่ง uname

$ uname -r
6.6.30-android15-6-g86d10b30f51f

หมายเลขหลังการเปิดตัวแพลตฟอร์มคือรุ่น KMI (ในกรณีนี้คือ 6)

หากการสร้าง KMI เปลี่ยนไป เคอร์เนลจะใช้ร่วมกับโมดูลของผู้ให้บริการที่สอดคล้องกับการสร้าง KMI ก่อนหน้าไม่ได้ ดังนั้นจึงต้องสร้างโมดูลใหม่และอัปเดตพร้อมกับเคอร์เนล หลังจากที่ KMI หยุดการเปลี่ยนแปลงแล้ว การเปลี่ยนแปลงการสร้าง KMI คาดว่าจะเกิดขึ้นน้อยมาก

ความเข้ากันได้ระหว่างเคอร์เนล

ข้อกำหนดด้านความเข้ากันได้ระหว่างเคอร์เนลในตระกูล LTS เดียวกันจะ มีการเปลี่ยนแปลงโดยเริ่มจากเคอร์เนล GKI ใหม่

เคอร์เนล GKI

เคอร์เนล GKI จะรักษาความเข้ากันได้แบบย้อนหลังกับแพลตฟอร์ม Android ทุกรุ่นที่รองรับเคอร์เนลเวอร์ชันนั้น นอกจากนี้ แพลตฟอร์ม Android รุ่นต่างๆ ยังเข้ากันได้แบบย้อนหลังกับเคอร์เนล GKI จากรุ่นก่อนหน้าด้วย คุณจึงใช้android14-6.1เคอร์เนลที่พัฒนาขึ้นสำหรับ Android 14 (2023) ในอุปกรณ์ที่ใช้ Android 15 (2024) ได้อย่างปลอดภัย การยืนยันความเข้ากันได้จะดำเนินการผ่านการทดสอบ VTS และ CTS อย่างต่อเนื่องของเคอร์เนล GKI กับรุ่นที่รองรับทั้งหมด

KMI มีความเสถียรเพื่อให้สามารถอัปเดตเคอร์เนลได้โดยไม่ต้องสร้างโมดูลเคอร์เนลใหม่ในอิมเมจของผู้ให้บริการ

ความเข้ากันได้ของ KMI จะไม่ได้รับการรักษาไว้ระหว่างเคอร์เนล GKI ที่แตกต่างกัน ดังนั้น เช่น คุณจะแทนที่เคอร์เนล android14-6.1 ด้วยเคอร์เนล android15-6.6 ไม่ได้โดยไม่ต้องสร้างโมดูลทั้งหมดใหม่

ระบบจะรองรับเคอร์เนล GKI สำหรับการเปิดตัวครั้งแรกและครั้งต่อๆ ไปเท่านั้น โดยจะไม่รองรับการเผยแพร่รุ่นเก่า ดังนั้นอุปกรณ์ที่ใช้ Android 14 (2023) จึงไม่รองรับเคอร์เนล android15-6.6

เมตริกซ์ความเข้ากันได้

ตารางนี้แสดงเวอร์ชันเคอร์เนลที่รองรับและทดสอบกับแพลตฟอร์ม Android แต่ละรุ่น

การเปิดตัวแพลตฟอร์ม Android เคอร์เนลที่รองรับ
Android 16 (2025) android16-6.12
android15-6.6
android14-6.1
android14-5.15
android13-5.15
android13-5.10
android12-5.10
android12-5.4
android11-5.4
Android 15 (2024) android15-6.6
android14-6.1
android14-5.15
android13-5.15
android13-5.10
android12-5.10
android12-5.4
android11-5.4
Android 14 (2023) android14-6.1
android14-5.15
android13-5.15
android13-5.10
android12-5.10
android12-5.4
android11-5.4
Android 13 (2022) android13-5.15
android13-5.10
android12-5.10
android12-5.4
android11-5.4
Android 12 (2021) android12-5.10
android12-5.4
android11-5.4

อายุการใช้งานที่รองรับและแพตช์ความปลอดภัย

ACK จะได้รับการผสาน LTS จากต้นทางและการแก้ไขข้อบกพร่องสำหรับโค้ดที่เฉพาะเจาะจงของ Android การแก้ไขเหล่านี้รวมถึงแพตช์ความปลอดภัยของเคอร์เนลทั้งหมดที่อ้างอิงในกระสุนด้านความปลอดภัยของ Android รายเดือนที่เกี่ยวข้องกับ ACK

ACK อาจได้รับการสนับสนุนนานกว่าเคอร์เนลเสถียรที่เกี่ยวข้องในต้นทาง ที่ kernel.org ในกรณีนี้ Google จะให้การสนับสนุนเพิ่มเติมจนถึงวันที่สิ้นสุดอายุการใช้งาน (EOL) ที่แสดงในส่วนนี้ เมื่อเคอร์เนลถึง EOL แล้ว Google จะไม่รองรับเคอร์เนลนั้นอีกต่อไป และถือว่าอุปกรณ์ที่ใช้เคอร์เนลดังกล่าวมีความเสี่ยง

ตั้งแต่เคอร์เนล 6.6 เป็นต้นไป อายุการรองรับสำหรับเคอร์เนลที่เสถียรจะอยู่ที่ 4 ปี

ตารางนี้แสดงอายุการใช้งานของ ACK ที่รองรับ

ACK Branch วันที่
เปิดตัว
อายุการใช้งาน

(ปี)
EOL
android11-5.4 2019-11-24 6 2026-01-01
android12-5.4 2019-11-24 6 2026-01-01
android12-5.10 2020-12-13 6 2027-07-01
android13-5.10 2020-12-13 6 2027-07-01
android13-5.15 2021-10-31 6 2028-07-01
android14-5.15 2021-10-31 6 2028-07-01
android14-6.1 2022-12-11 6 2029-07-01
android15-6.6 2023-10-29 4 2028-07-01
android16-6.12 2024-11-17 4 2029-07-01

การทดสอบเคอร์เนลทั่วไป

เราทดสอบเคอร์เนลทั่วไปกับระบบ CI หลายระบบ นอกเหนือจากการทดสอบดาวน์สตรีม โดยผู้ให้บริการ

การทดสอบการทำงานของเคอร์เนล Linux

การทดสอบการทำงานของเคอร์เนล Linux (LKFT) การทดสอบจะเริ่มชุดการทดสอบต่างๆ ซึ่งรวมถึง kselftest, LTP, VTS และ CTS ใน ชุดอุปกรณ์จริง arm32 และ arm64 คุณดูผลการทดสอบล่าสุดได้ ในหน้า android-lkft

การทดสอบ KernelCI

การทดสอบการสร้างและการบูตของ KernelCI จะเริ่มขึ้น เมื่อใดก็ตามที่มีการคอมมิตแพตช์ใหม่ไปยังกิ่งของเคอร์เนลทั่วไป มีการทดสอบและบูตการกำหนดค่าบิลด์หลายร้อยรายการในบอร์ดต่างๆ ผลการทดสอบล่าสุดสำหรับเคอร์เนล Android ดูได้ที่เว็บไซต์ KernelCL

การทดสอบก่อนส่งและหลังส่งของ Android

การทดสอบก่อนส่งใช้เพื่อป้องกันไม่ให้เกิดข้อผิดพลาดใน เคอร์เนลทั่วไปของ Android คุณดูสรุปผลการทดสอบได้ในแท็บ "การตรวจสอบ" ของ การเปลี่ยนแปลงโค้ดใน Gerrit ของเคอร์เนลทั่วไปของ Android

การทดสอบหลังการส่งของ Android จะดำเนินการ ในบิลด์ที่เผยแพร่ใหม่ในสาขาเคอร์เนลทั่วไปของ Android เมื่อมีการคอมมิตแพตช์ใหม่ ไปยังสาขาเคอร์เนลทั่วไปของ Android ใน ci.android.com โดย การป้อน aosp_kernel เป็นชื่อสาขาบางส่วนใน ci.android.com คุณจะเห็นรายการสาขาเคอร์เนลที่มี ผลลัพธ์พร้อมใช้งาน เช่น ผลลัพธ์สำหรับ android-mainline จะอยู่ในแดชบอร์ดการผสานรวมการสร้างอย่างต่อเนื่องของ Android (Android CI) คลิก บิลด์ที่ต้องการเพื่อดูสถานะการทดสอบในแท็บ Test Results

การทดสอบที่กำหนดโดย test-mapping ที่มีกลุ่มทดสอบ kernel-presubmit ในโครงสร้างแหล่งที่มาของแพลตฟอร์ม Android จะทำงานเป็น การทดสอบก่อนส่งสำหรับสาขาเคอร์เนล Android ตัวอย่างเช่น การกำหนดค่าต่อไปนี้ใน test/vts/tests/kernel_proc_file_api_test/TEST_MAPPING จะเปิดใช้ vts_kernel_proc_file_api_test เป็นการทดสอบก่อนส่งที่การเช็คอินโค้ดเคอร์เนลทั่วไปของ Android

{
  "kernel-presubmit": [
    {
      "name": "vts_kernel_proc_file_api_test"
    }
  ]
}

การทดสอบแบบ 0 วัน

การทดสอบ0 วันจะทำการทดสอบแพตช์ทีละแพตช์ ในสาขาเคอร์เนลทั่วไปของ Android ทั้งหมดเมื่อมีการคอมมิตแพตช์ใหม่ มีการทดสอบการบูต การทำงาน และประสิทธิภาพต่างๆ เข้าร่วมกลุ่มสาธารณะ cros-kernel-buildreports

เมทริกซ์ทดสอบ

เคอร์เนลทั่วไปของ Android การเปิดตัวแพลตฟอร์ม Android ชุดทดสอบ
หลัก 16 15 14 13 12 LKFT KernelCI ก่อนส่ง หลังส่ง Zero Day
android-mainline
android16-6.12
android15-6.6
android14-6.1
android14-5.15
android13-5.15
android13-5.10
android12-5.10
android12-5.4
android11-5.4

ร่วมสนับสนุนเคอร์เนลทั่วไปของ Android

โดยทั่วไปแล้ว การพัฒนาฟีเจอร์ควรทำใน Linux หลักและไม่ใช่ในเคอร์เนลทั่วไปของ Android เราขอแนะนำอย่างยิ่งให้พัฒนาต้นทาง และหลังจากที่ยอมรับการพัฒนาแล้ว คุณสามารถย้อนกลับไปที่สาขา ACK ที่เฉพาะเจาะจงได้ตามต้องการ ทีมเคอร์เนลของ Android ยินดี ที่จะสนับสนุนความพยายามในการส่งโค้ดไปยังต้นน้ำเพื่อประโยชน์ของระบบนิเวศของ Android

ส่งแพตช์ไปยัง Gerrit และปฏิบัติตามหลักเกณฑ์การมีส่วนร่วมเหล่านี้