Kể từ ngày 27 tháng 3 năm 2025, bạn nên sử dụng android-latest-release
thay vì aosp-main
để xây dựng và đóng góp cho AOSP. Để biết thêm thông tin, hãy xem phần Thay đổi đối với AOSP.
Tổng quan về bản dựng
Sử dụng bộ sưu tập để sắp xếp ngăn nắp các trang
Lưu và phân loại nội dung dựa trên lựa chọn ưu tiên của bạn.
AOSP sử dụng hệ thống xây dựng Soong để xây dựng Android. Soong tận dụng công cụ nhân bản GNU Make kati và thành phần hệ thống xây dựng Ninja để tăng tốc các bản dựng của Android.
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 nội dung mô tả chi tiết về định dạng tệp Android.bp
, hãy xem phần Định dạng tệp Android.bp.
Để biết 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ờ phát hành tính năng và cờ bản dựng
Cờ phát hành tính năng là cờ nhị phân dùng để tách biệt mã chưa kiểm thử với mã đã kiểm thử. Nếu có 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 phản chiếu của bạn ổn định. Ngoài ra, nếu bạn dự định đóng góp mã cho nhánh phát triển bên ngoài công khai, thì người xem xét thay đổi có thể yêu cầu bạn triển khai cờ cho mã của mình.
Cờ bản dựng là các hằng số (chuỗi) tại thời điểm tạo bản dựng dùng để sửa đổi bản dựng, chẳng hạn như bao gồm một thư viện mã (không bắt buộc).
Để biết nội dung giải thích về các nhánh mã khác nhau, hãy xem phần Vòng đời phát hành.
Bạn cần thay đổi tệp bản dựng để sử dụng cờ phát hành tính năng và cờ bản dựng. Để biết thêm thông tin về các cờ này, bao gồm cả cách sử dụng trong một bản dựng, hãy xem phần Tổng quan về cờ phát hành tính năng và các trang liền kề.
Nội dung và mã mẫu trên trang này phải tuân thủ các giấy phép như mô tả trong phần Giấy phép nội dung. Java và OpenJDK là nhãn hiệu hoặc nhãn hiệu đã đăng ký của Oracle và/hoặc đơn vị liên kết của Oracle.
Cập nhật lần gần đây nhất: 2025-07-27 UTC.
[[["Dễ hiểu","easyToUnderstand","thumb-up"],["Giúp tôi giải quyết được vấn đề","solvedMyProblem","thumb-up"],["Khác","otherUp","thumb-up"]],[["Thiếu thông tin tôi cần","missingTheInformationINeed","thumb-down"],["Quá phức tạp/quá nhiều bước","tooComplicatedTooManySteps","thumb-down"],["Đã lỗi thời","outOfDate","thumb-down"],["Vấn đề về bản dịch","translationIssue","thumb-down"],["Vấn đề về mẫu/mã","samplesCodeIssue","thumb-down"],["Khác","otherDown","thumb-down"]],["Cập nhật lần gần đây nhất: 2025-07-27 UTC."],[],[],null,["# Build overview\n\nAOSP uses the *Soong* build system to build Android. Soong leverages the\n[kati](https://github.com/google/kati/blob/master/README.md) GNU\nMake clone tool and [Ninja](https://ninja-build.org/) build system\ncomponent to speed up builds of Android.\n\nSoong build files are called *blueprint files* and are named `Android.bp`. These\nfiles are similar in syntax and\nsematics to [Bazel BUILD files](https://bazel.build/reference/be/overview).\n\nFor a detailed description of the `Android.bp` file format, see\n[Android.bp file format](/docs/setup/reference/androidbp).\n\nFor information on converting your Make files to `Android.bp` files, see\n[Make and Soong comparison](/docs/setup/build/make-to-soong).\n\nFeature launch flags and build flags\n------------------------------------\n\n*Feature launch flags* are binary flags used to isolate untested code from\ntested code. If you have your own mirror of the AOSP external development\nbranch, you can use these flags to keep your mirrored code stable. Additionally,\nif you intend on contributing code to the public external development branch,\nyou might be asked by your change's reviewer to implement a flag for your code.\n\n*Build flags* are build-time constants (strings) used to modify your build, such\nas optionally including a code library.\n\nFor an explanation of the different code branches, see\n[Release lifecycle](/docs/setup/contribute/release-lifecycle).\n\nFeature launch flags and build flags require changes to build files. For\nadditional information on these flags, including their use in a build, see\nthe [Feature launch flags overview](/docs/setup/build/feature-flagging) and\nadjacent pages."]]