AOSP ใช้ระบบบิลด์ Soong เพื่อสร้าง Android Soong ใช้เครื่องมือโคลน GNU Make ของ kati และคอมโพเนนต์ระบบบิลด์ Ninja เพื่อเร่งการบิลด์ Android
ไฟล์บิลด์ Soong เรียกว่าไฟล์พิมพ์เขียวและมีชื่อว่า Android.bp ไฟล์เหล่านี้มีไวยากรณ์และความหมายคล้ายกับไฟล์ BUILD ของ Bazel
ดูข้อมูลเพิ่มเติมเกี่ยวกับรูปแบบไฟล์ Android.bp ได้ที่รูปแบบไฟล์ Android.bp
ดูข้อมูลเพิ่มเติมเกี่ยวกับการแปลงไฟล์ Make เป็นไฟล์ Android.bp ได้ที่
การเปรียบเทียบ Make กับ Soong
Flag การเปิดตัวฟีเจอร์และ Flag การสร้าง
Flag การเปิดตัวฟีเจอร์คือ Flag แบบไบนารีที่ใช้เพื่อแยกโค้ดที่ยังไม่ได้ทดสอบออกจากโค้ดที่ทดสอบแล้ว หากดูแลรหัสที่มิเรอร์ของ Branch การพัฒนาภายนอกของ AOSP ด้วยตนเอง คุณจะใช้แฟล็กเหล่านี้เพื่อรักษารหัสที่มิเรอร์ให้เสถียรได้ หากคุณ มีส่วนร่วมในการเขียนโค้ดใน Branch การพัฒนาภายนอกแบบสาธารณะ ผู้ตรวจสอบ อาจขอให้คุณใช้ Flag สำหรับโค้ด
Build flags คือค่าคงที่สตริงในเวลาบิลด์ที่ใช้เพื่อแก้ไขบิลด์ เช่น การรวมไลบรารีโค้ดโดยไม่บังคับ
ดูข้อมูลเพิ่มเติมเกี่ยวกับสาขาโค้ดต่างๆ ได้ที่วงจรการเผยแพร่
ฟีเจอร์ที่เปิดตัวและฟีเจอร์ที่สร้างต้องมีการเปลี่ยนแปลงไฟล์บิลด์ ดูข้อมูลเพิ่มเติมเกี่ยวกับฟีเจอร์นี้และวิธีใช้ในบิลด์ได้ที่ภาพรวมของฟีเจอร์ที่เปิดตัว
การลดขนาดโค้ดและทรัพยากรด้วย R8
Soong ใช้คอมไพเลอร์ R8 เพื่อลดขนาดและเพิ่มประสิทธิภาพเป้าหมาย Java และ Kotlin ที่
คอมไพล์ไบต์โค้ด DEX เช่น android_app, android_test และโมดูลที่ติดตั้งได้
java_library ในไลบรารีแบบคงที่ เช่น android_library และ
static java_library บล็อก optimize จะแนบและส่งออกกฎการเก็บรักษาของผู้บริโภค
ดูข้อมูลเพิ่มเติมเกี่ยวกับการกำหนดค่าการเพิ่มประสิทธิภาพ R8 และกฎการเก็บรักษาได้ที่ เพิ่มประสิทธิภาพโค้ดและทรัพยากรของแพลตฟอร์มด้วย R8