โดยค่าเริ่มต้น ฟีเจอร์แฟล็กทั้งหมดจะREAD_WRITE
และตั้งค่าเป็น DISABLED
ก่อนที่จะทดสอบฟีเจอร์ คุณต้องลบล้างค่าเริ่มต้นที่ใช้ในการสร้างโดยสร้างไฟล์ค่าสถานะสำหรับสถานะ ในไฟล์ค่าสถานะ
คุณจะตั้งค่าสถานะของแต่ละสถานะ (ENABLED
หรือ DISABLED
) และสิทธิ์
(READ_WRITE
หรือ READ_ONLY
)
การกำหนดค่ารุ่นคือไดเรกทอรีที่มีไฟล์ค่าแฟล็กทั้งหมด สำหรับบิลด์ Android ที่เฉพาะเจาะจง (โดยเปิดใช้และ ปิดใช้ฟีเจอร์บางอย่าง)
AOSP มาพร้อมกับการกำหนดค่าการเผยแพร่บางอย่าง เช่น trunk_staging
ไดเรกทอรีการกำหนดค่ารุ่นจะอยู่ใน
WORKING_DIRECTORY/build/release/aconfig/
เมื่อใช้คำสั่ง lunch
เพื่อ
เลือกเป้าหมาย คุณจะ
ตั้งค่าการเผยแพร่สำหรับเป้าหมายด้วย
ตัวอย่างเช่น trunk_staging
เป้าหมายต่อไปนี้
lunch aosp_cf_x86_64_only_phone-trunk_staging-userdebug
การจัดเตรียม Trunk เป็นการกำหนดค่ารุ่นที่ใช้ในการพัฒนา เนื่องจาก
Google ใช้การกำหนดค่านี้เพื่อทดสอบฟีเจอร์ก่อนที่จะเปิดตัวโดยทั่วไป การกำหนดค่านี้
ใช้
ส่วนใหญ่เป็นREAD_WRITE
แฟล็กที่ช่วยให้คุณทดสอบโค้ดโดยเปิดใช้หรือ
ปิดใช้ฟีเจอร์ในขณะรันไทม์ได้
เมื่อเปิดตัวทั่วไป ให้ใช้การกำหนดค่าการเผยแพร่ การกำหนดค่ารุ่น
ส่วนใหญ่ใช้READ_ONLY
แฟล็กและแสดงโค้ดทั้งหมด
ที่เปิดใช้สำหรับรุ่นนั้น
เพิ่ม Flag ในการกำหนดค่ารุ่น trunk_staging
หากต้องการทดสอบฟีเจอร์ใหม่ ให้เพิ่มฟีเจอร์นั้นลงในtrunk_staging
การกำหนดค่ารุ่นตาม
นี้
- นำทางไปยัง
WORKING_DIRECTORY/build/release/aconfig/trunk_staging/
- สร้างไดเรกทอรีที่มีชื่อแพ็กเกจเดียวกับฟีเจอร์แฟลก เช่น
com.example.android.aconfig.demo.flags
ที่แสดงใน ประกาศฟีเจอร์แฟลก aconfig สำหรับ Java - ไปที่ไดเรกทอรีใหม่
- ในไดเรกทอรี ให้สร้างไฟล์ค่าแฟล็กที่รวมชื่อที่ใช้ในไฟล์ประกาศแฟล็ก (
.aconfig
) เช่นmy_static_flag
ที่แสดงในประกาศแฟล็ก aconfig สำหรับ Java ด้วย_flag_values.textproto
ชื่อไฟล์ที่ได้คือmy_static_flag_flag_values.textproto
แก้ไขไฟล์และเพิ่ม
flag_value
ที่คล้ายกับตัวอย่างต่อไปนี้flag_value { package: "com.example.android.aconfig.demo.flags" name: "my_static_flag" state: DISABLED Permission: READ_WRITE }
สถานที่:
package
มีชื่อแพ็กเกจเดียวกันกับที่ใช้ในการประกาศname
มีชื่อเดียวกันกับที่ใช้ในการประกาศstate
คือENABLED
หรือDISABLED
permission
คือREAD_WRITE
หรือREAD_ONLY
โดยทั่วไปpermission
จะตั้งค่าเป็นREAD_ONLY
สำหรับไฟล์ค่าแฟล็กที่เป็นส่วนหนึ่งของการกำหนดค่ารุ่น
บันทึกไฟล์และออกจากโปรแกรมแก้ไข
ในไดเรกทอรีเดียวกับไฟล์ค่าแฟล็ก ให้สร้างไฟล์บิลด์ชื่อ
Android.bp
ไฟล์นี้ใช้เพื่อรวมไฟล์ค่าแฟล็กในการสร้างใน
Android.bp
ให้สร้างส่วนaconfig_values
ที่คล้ายกับส่วนต่อไปนี้aconfig_values { name: "aconfig-values-platform_build_release-trunk-staging-com.android.aconfig.test-all", package: "com.android.aconfig.test", srcs: [ "*_flag_values.textproto", ] }
สถานที่:
name
คือชื่อที่ไม่ซ้ำกันของโมดูลบิลด์ Soong Google ใช้ รูปแบบของaconfig-values-platform_PATH_TO_RELEASE_CONFIG_DIR-CONFIG-NAME-package.name-all
โปรดทราบว่าPATH_TO_RELEASE_CONFIG_DIR
isbuild/release
package
มีชื่อแพ็กเกจเดียวกันกับที่ใช้ในการประกาศsrcs
คือรายการไฟล์ค่าฟีเจอร์แฟล็กทั้งหมด
บันทึกไฟล์และออกจากโปรแกรมแก้ไข
ไปยังไดเรกทอรีเหนือไดเรกทอรีปัจจุบัน (
cd ..
)แก้ไขไฟล์
Android.bp
ไฟล์บิลด์นี้มีรายการชื่อ (name
) ที่เชื่อมโยงกับไฟล์ค่าของแต่ละแฟล็ก เพิ่มชื่อที่คุณใช้ใน ไฟล์บิลด์ก่อนหน้า (ขั้นตอนที่ 8) ลงในรายการนี้สร้าง Android และเรียกใช้โค้ดใหม่เพื่อให้แน่ใจว่าได้เปิดใช้ตาม การตั้งค่าในไฟล์ค่าแฟล็ก