Theo mặc định, tất cả cờ khởi chạy 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 sử dụng trong bản dựng bằng cách tạo tệp giá trị cờ cho cờ đó. Trong tệp giá trị cờ, bạn đặt trạng thái của một cờ riêng lẻ (ENABLED
hoặc DISABLED
) và quyền (READ_WRITE
hoặc READ_ONLY
).
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 Android cụ thể (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
.
Bạn có thể tìm thấy các thư mục cấu hình bản phát hành 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 đặt cấu hình phát hành cho mục tiêu đó.
Ví dụ: sau đây là mục tiêu trunk_staging
:
lunch aosp_cf_x86_64_phone-trunk_staging-userdebug
Staging Trunk là một cấu hình phát hành phát triển vì Google sử dụng cấu hình này để kiểm thử các tính năng trước khi phát hành công khai. 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ã của mình với các tính năng được bật hoặc tắt trong thời gian chạy.
Ở bản phát hành công khai, hãy sử dụng cấu hình phát hành bản phát hành. Cấu hình phát hành bản phát hành chủ yếu sử dụng cờ READ_ONLY
và phản ánh tất cả mã được bật cho bản phát hành đó.
Thêm 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ó tên gói giống với cờ của bạn, chẳng hạn như
com.example.android.aconfig.demo.flags
hiển thị trong phần Khai báo cờ aconfig cho Java. - Chuyển đến thư mục mới.
- Trong thư mục, 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_flag
hiển thị trong phần Khai báo cờ aconfig cho Java bằng_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
flag_value
tươ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:
package
chứa cùng một tên gói được dùng trong phần khai báo.name
chứa cùng một tên được dùng trong phần khai báo.state
làENABLED
hoặcDISABLED
.permission
làREAD_WRITE
hoặcREAD_ONLY
. Nhìn chung,permission
được đặt thànhREAD_ONLY
cho các tệp giá trị cờ thuộc 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 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_values
tươ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:
name
là tên duy nhất của mô-đun bản dựng Soong. Google sử dụng quy ước củaaconfig-values-platform_PATH_TO_RELEASE_CONFIG_DIR-CONFIG-NAME-package.name-all
. Lưu ý rằngPATH_TO_RELEASE_CONFIG_DIR
làbuild/release
.package
chứa cùng một tên gói được dùng trong phần khai báo.srcs
là danh sách tất 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
) liên kết với từng tệp giá trị cờ. Thêm tên bạn đã sử 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 rằng mã đó được bật theo chế độ cài đặt trong tệp giá trị cờ.