AOSP sử dụng hệ thống xây dựng Soong để tạo Android. Soong sử dụng công cụ sao chép GNU Make kati và thành phần hệ thống xây dựng Ninja để tăng tốc quá trình xây dựng Android.
Các tệp bản dựng Soong được gọi là tệp bản thiết kế và có tên là Android.bp. Các tệp này có cú pháp và ngữ nghĩa tương tự như tệp BUILD của Bazel.
Để biết thêm thông tin về định dạng tệp Android.bp, hãy xem bài viết Định dạng tệp Android.bp.
Để biết thêm thông tin về cách chuyển đổi tệp Make thành tệp Android.bp, hãy xem phần So sánh Make và Soong.
Cờ khởi chạy tính năng và cờ dựng
Cờ ra mắt tính năng là các cờ nhị phân dùng để tách mã chưa được kiểm thử khỏi mã đã được kiểm thử. Nếu duy trì bản sao riêng của nhánh phát triển bên ngoài AOSP, bạn có thể sử dụng các cờ này để giữ cho mã được sao chép ổn định. Nếu bạn đang đóng góp mã cho nhánh phát triển bên ngoài công khai, thì người đánh giá có thể yêu cầu bạn triển khai một cờ cho mã của mình.
Cờ bản dựng là các hằng số chuỗi trong thời gian xây dựng được dùng để sửa đổi bản dựng, chẳng hạn như tuỳ chọn bao gồm một thư viện mã.
Để biết thêm thông tin về các nhánh mã khác nhau, hãy xem bài viết Vòng đời phát hành.
Cờ ra mắt tính năng và cờ bản dựng yêu cầu thay đổi đối với các tệp bản dựng. Để biết thêm thông tin về các cờ này và cách sử dụng chúng trong bản dựng, hãy xem bài viết Tổng quan về cờ ra mắt tính năng.
Rút gọn mã và tài nguyên bằng R8
Soong sử dụng trình biên dịch R8 để rút gọn và tối ưu hoá các mục tiêu Java và Kotlin biên dịch mã byte DEX, chẳng hạn như android_app, android_test và các mô-đun java_library có thể cài đặt. Trên các thư viện tĩnh, chẳng hạn như android_library và java_library tĩnh, khối optimize sẽ đính kèm và xuất các quy tắc giữ lại người dùng.
Để biết thêm thông tin về cách định cấu hình quy tắc tối ưu hoá và giữ lại R8, hãy xem bài viết Tối ưu hoá mã và tài nguyên nền tảng bằng R8.