Theo mặc định, tất cả cờ ra mắt tính năng đều là READ_WRITE và được đặt thành DISABLED.
Trước khi có thể kiểm thử một tính năng, bạn phải ghi đè giá trị mặc định được dùng trong bản dựng bằng cách tạo một tệp giá trị cờ cho cờ. Trong tệp giá trị cờ, bạn đặt trạng thái (ENABLED hoặc DISABLED) và quyền (READ_WRITE hoặc READ_ONLY) của từng cờ.
Cấu hình phát hành là một thư mục chứa tất cả các tệp giá trị cờ cho một bản dựng cụ thể của Android (với một số tính năng được bật và tắt).
AOSP đi kèm với một số cấu hình phát hành, chẳng hạn như trunk_staging.
Các thư mục cấu hình bản phát hành nằm trong WORKING_DIRECTORY/build/release/aconfig/.
Khi sử dụng lệnh lunch để chọn một mục tiêu, bạn cũng đang thiết lập cấu hình phát hành cho mục tiêu đó.
Ví dụ: sau đây là một mục tiêu trunk_staging:
lunch aosp_cf_x86_64_only_phone-trunk_staging-userdebug
Phát hành theo giai đoạn là một cấu hình phát hành để phát triển vì Google dùng cấu hình này để kiểm thử các tính năng trước khi phát hành rộng rãi. Cấu hình này chủ yếu sử dụng các cờ READ_WRITE cho phép bạn kiểm thử mã khi các tính năng được bật hoặc tắt trong thời gian chạy.
Khi phát hành công khai, hãy sử dụng cấu hình bản phát hành. Cấu hình phát hành thường sử dụng các cờ READ_ONLY và phản ánh tất cả mã được bật cho bản phát hành đó.
Thêm một cờ vào cấu hình phát hành trunk_staging
Để kiểm thử một cờ mới, hãy thêm cờ đó vào cấu hình phát hành trunk_staging như sau:
- Điều hướng đến
WORKING_DIRECTORY/build/release/aconfig/trunk_staging/ - Tạo một thư mục có cùng tên gói với cờ của bạn, chẳng hạn như
com.example.android.aconfig.demo.flagsxuất hiện trong phần Khai báo cờ aconfig cho Java. - Chuyển đến thư mục mới.
- Trong thư mục này, hãy tạo một tệp giá trị cờ kết hợp tên được dùng trong tệp khai báo cờ (
.aconfig), chẳng hạn nhưmy_static_flagxuất hiện trong phần Khai báo cờ aconfig cho Java với_flag_values.textproto. Tên tệp kết quả làmy_static_flag_flag_values.textproto. Chỉnh sửa tệp và thêm một
flag_valuetương tự như sau:flag_value { package: "com.example.android.aconfig.demo.flags" name: "my_static_flag" state: DISABLED Permission: READ_WRITE }Trong trường hợp:
packagechứa cùng tên gói được dùng trong khai báo.namechứa cùng tên được dùng trong khai báo.statelàENABLEDhoặcDISABLED.permissionlàREAD_WRITEhoặcREAD_ONLY. Thông thường,permissionđược đặt thànhREAD_ONLYcho các tệp giá trị cờ nằm trong cấu hình phát hành.
Lưu tệp và thoát trình chỉnh sửa.
Trong cùng thư mục với tệp giá trị cờ, hãy tạo một tệp bản dựng có tên là
Android.bp. Tệp này được dùng để đưa tệp giá trị cờ vào bản dựng.Trong tệp
Android.bp, hãy tạo một phầnaconfig_valuestương tự như:aconfig_values { name: "aconfig-values-platform_build_release-trunk-staging-com.android.aconfig.test-all", package: "com.android.aconfig.test", srcs: [ "*_flag_values.textproto", ] }Trong trường hợp:
namelà tên riêng biệt của mô-đun bản dựng Soong. Google sử dụng quy ướcaconfig-values-platform_PATH_TO_RELEASE_CONFIG_DIR-CONFIG-NAME-package.name-all. Xin lưu ý rằngPATH_TO_RELEASE_CONFIG_DIRlàbuild/release.packagechứa cùng tên gói được dùng trong khai báo.srcslà danh sách tất cả các tệp giá trị cờ của bạn.
Lưu tệp và thoát trình chỉnh sửa.
Chuyển đến thư mục phía trên thư mục hiện tại (
cd ..)Chỉnh sửa tệp
Android.bp. Tệp bản dựng này chứa danh sách tên (name) được liên kết với từng tệp giá trị cờ. Thêm tên mà bạn đã dùng trong tệp bản dựng trước đó (bước 8) vào danh sách này.Tạo Android và chạy mã mới để đảm bảo mã được bật theo chế độ cài đặt trong tệp giá trị cờ.