כברירת מחדל, כל דגלי השקת התכונות הם READ_WRITE ומוגדרים לערך DISABLED.
כדי לבדוק תכונה, צריך ליצור קובץ ערכי דגל בשביל הדגל כדי לשנות את ערך ברירת המחדל שמשמש ב-build. בקובץ ערכי הדגלים, מגדירים את המצב של כל דגל (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 staging היא גרסת פיתוח כי Google משתמשת בה כדי לבדוק תכונות לפני שהיא משיקה אותן לכלל המשתמשים. ברוב המקרים, ההגדרה הזו משתמשת בדגלים READ_WRITE שמאפשרים לבדוק את הקוד עם תכונות שמופעלות או מושבתות בזמן הריצה.
במהלך ההפצה הכללית, משתמשים בהגדרות הפצה. ברוב המקרים, הגדרת גרסה כוללת דגלים של READ_ONLY ומשקפת את כל הקוד שהופעל עבור הגרסה הזו.
הוספת דגל להגדרת ההפצה של 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בקבצים של ערכי דגלים שמהווים חלק מהגדרות של גרסת הפצה.
-
שומרים את הקובץ ויוצאים מהעורך.
באותה תיקייה שבה נמצא קובץ ערכי הדגלים, יוצרים קובץ build בשם
Android.bp. הקובץ הזה משמש להכללת קובץ ערכי הדגלים ב-build.בקובץ
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הוא השם הייחודי של מודול ה-build של Soong. Google משתמשת במוסכמהaconfig-values-platform_PATH_TO_RELEASE_CONFIG_DIR-CONFIG-NAME-package.name-all. שימו לב שהערך שלPATH_TO_RELEASE_CONFIG_DIRהואbuild/release. -
packageמכיל את אותו שם חבילה שמשמש בהצהרה. -
srcsהיא רשימה של כל הקבצים עם ערכי הדגלים.
-
שומרים את הקובץ ויוצאים מהעורך.
מעבר לספרייה שמעל הספרייה הנוכחית (
cd ..)עורכים את קובץ
Android.bp. קובץ ה-build הזה מכיל רשימה של השמות (name) שמשויכים לכל קובץ ערכי דגלים. מוסיפים לרשימה הזו את השם שבו השתמשתם בקובץ ה-build הקודם (שלב 8).יוצרים את Android ומריצים את הקוד החדש כדי לוודא שהוא מופעל בהתאם להגדרה בקובץ ערכי הדגל.