כברירת מחדל, כל הדגלים להשקת תכונות הם READ_WRITE
ומוגדרים ל-DISABLED
.
כדי לבדוק תכונה, צריך לשנות את ערך ברירת המחדל שמשמש ב-build על ידי יצירת קובץ ערכי דגל לדגל. בקובץ של ערכי הדגלים, מגדירים את המצב (ENABLED
או DISABLED
) וההרשאה (READ_WRITE
או READ_ONLY
) של דגל ספציפי.
הגדרת גרסה היא ספרייה שמכילה את כל קובצי ערכי הדגלים של build ספציפי של Android (עם תכונות מסוימות שפועלות ותכונות מסוימות מושבתות).
AOSP מגיע עם כמה הגדרות של גרסאות, כמו trunk_staging
.
ספריות ההגדרות של הגרסה נמצאות בתיקייה WORKING_DIRECTORY/build/release/aconfig/
.
כשמשתמשים בפקודה lunch
כדי לבחור יעד, מגדירים גם את הגדרות הגרסה ליעד.
לדוגמה, הקוד הבא הוא יעד trunk_staging
:
lunch aosp_cf_x86_64_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 ומריצים את הקוד החדש כדי לוודא שהוא מופעל בהתאם להגדרה בקובץ ערכי הדגלים.