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.
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.
Khi thêm mã vào AOSP, hãy sử dụng cờ khởi chạy tính năng để tách biệt mã chưa kiểm thử với mã đã kiểm thử. Bật cờ chạy tính năng để thực thi và kiểm thử mã của bạn.
Ngược lại, hãy tắt cờ khởi chạy tính năng để đảm bảo mã chưa được kiểm thử không thực thi.
Cờ phát hành tính năng chủ yếu được dùng theo hai cách sau:
Nếu đang đóng góp cho AOSP, bạn có thể được người xem xét thay đổi yêu cầu triển khai cờ phát hành tính năng để tính năng đó được kiểm thử đúng cách.
Để biết thêm thông tin về các nhánh, hãy xem phần Vòng đời phát hành.
Google sử dụng cờ phát hành tính năng để đảm bảo rằng nhánh phát hành mới nhất của Android (android16-release) luôn ổn định cho mọi người. Nếu công ty của bạn lưu giữ bản sao của AOSP và làm việc từ bản sao đó, hãy sử dụng tính năng gắn cờ phát hành tính năng để giữ cho bản sao của mã AOSP ổn định cho nhóm phát triển.
Sau đây là các bước cấp cao để triển khai tính năng gắn cờ phát hành:
Đối với một thay đổi mã nhất định, hãy xác định xem bạn có cần cờ hay không và nếu có, hãy xác định loại cờ.
Khai báo cờ.
Gói thay đổi mã của bạn trong cờ.
Đặt giá trị của cờ.
Tạo và kiểm thử mã của bạn.
Thay đổi giá trị cờ trong thời gian chạy.
Mã kiểm thử sử dụng cờ phát hành tính năng
Các trang trong phần này sẽ hướng dẫn bạn cách thực hiện từng bước.
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,["# Feature launch flag overview\n\nWhen adding code into AOSP, use *feature launch flags* to isolate\nuntested code from tested code. Enable feature launch flags to execute and\ntest your code.\nConversely, disable feature launch flags to ensure untested code doesn't\nexecute.\n\nFeature launch flags are used primarily in these two ways:\n\n- If you're contributing to AOSP, you might be asked by your change's reviewer to implement a feature launch flag so that the feature is tested properly. For further information on branches, see [Release lifecycle](/docs/setup/contribute/release-lifecycle).\n- Google uses feature launch flags to ensure the Android latest release branch (`android16-release`) is stable for everyone. If your company keeps a mirror of AOSP and works from that mirror, use feature launch flagging to keep your mirror of AOSP code stable for your development team.\n\n| **Note:** Feature launch flagging is part of a new development process called *Trunk Stable* whereby all official AOSP releases are snapped from a single internal main development branch. To achieve this goal, the main development branch must remain stable at all time. Trunk Stable requires all updates and new features to be flagged so they can, on a case-by-case basis, be included or excluded from the internal main branch before snapping a release. For more on the AOSP release process, see [Release\n| lifecycle](/docs/setup/contribute/release-lifecycle).\n\nThe high-level steps for implementing feature launch flagging are:\n\n1. For a given code change, determine if you need a flag and, if so, determine the flag type.\n2. Declare the flag.\n3. Wrap your code change in the flag.\n4. Set the flag's value.\n5. Build and test your code.\n6. Change flag values at runtime.\n7. Test code that uses feature release flags\n\nThe pages in this section teach you how to perform each of these steps."]]