تكون جميع علامات إطلاق الميزات مضبوطة تلقائيًا على 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_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لملفات قيم العلامات التي تشكّل جزءًا من إعدادات الإصدار.
احفظ الملف واخرج من المحرّر.
في الدليل نفسه الذي يحتوي على ملف قيم العلامات، أنشِئ ملف إصدار باسم
Android.bp. يُستخدَم هذا الملف لتضمين ملف قيم العلامات في الإصدار.في ملف
Android.bp، أنشِئ قسمaconfig_valuesمشابهًا لما يلي:aconfig_values { name: "aconfig-values-platform_build_release-trunk-staging-com.example.android.aconfig.demo.flags-all", package: "com.example.android.aconfig.demo.flags", srcs: [ "*_flag_values.textproto", ] }المكان:
nameهو الاسم الفريد لوحدة إصدار Soong. تستخدم Google اصطلاح convention ofaconfig-values-platform_PATH_TO_RELEASE_CONFIG_DIR-CONFIG_NAME-package.name-all. يجب أن يتطابق هذا الاسم مع الاسم الذي تنشئه Soong تلقائيًا استنادًا إلى إعلانaconfig_value_setفي ملفAndroid.bpالخاص بالدليل الرئيسي. يُرجى العِلم أنّPATH_TO_RELEASE_CONFIG_DIRهوbuild_release.packageيحتوي على اسم الحزمة نفسه المستخدَم في الإعلان.srcsهي قائمة بجميع ملفات قيم العلامات.
احفظ الملف واخرج من المحرّر.
انتقِل إلى الدليل أعلى الدليل الحالي (
cd ..)أنشِئ Android، وشغِّل الرمز البرمجي الجديد للتأكّد من أنّه مفعَّل وفقًا للإعدادات في ملف قيم العلامات.