डिफ़ॉल्ट रूप से, सुविधा लॉन्च करने के सभी फ़्लैग 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_phone-trunk_staging-userdebug
ट्रंक स्टेजिंग एक डेवलपमेंट रिलीज़ कॉन्फ़िगरेशन है, क्योंकि Google इसका इस्तेमाल, सामान्य रिलीज़ से पहले सुविधाओं की जांच करने के लिए करता है. इस कॉन्फ़िगरेशन में, ज़्यादातर READ_WRITE
फ़्लैग का इस्तेमाल किया जाता है. इनकी मदद से, रनटाइम के दौरान सुविधाओं को चालू या बंद करके, अपने कोड की जांच की जा सकती है.
सामान्य रिलीज़ के लिए, रिलीज़ कॉन्फ़िगरेशन का इस्तेमाल करें. रिलीज़ कॉन्फ़िगरेशन में ज़्यादातर READ_ONLY
फ़्लैग का इस्तेमाल किया जाता है. साथ ही, उस रिलीज़ के लिए चालू किया गया सारा कोड दिखाया जाता है.
trunk_staging रिलीज़ कॉन्फ़िगरेशन में फ़्लैग जोड़ना
किसी नए फ़्लैग की जांच करने के लिए, उसे trunk_staging
रिलीज़ कॉन्फ़िगरेशन में इस तरह जोड़ें:
WORKING_DIRECTORY/build/release/aconfig/trunk_staging/
पर नेविगेट करें- अपने फ़्लैग के पैकेज के नाम वाली डायरेक्ट्री बनाएं. जैसे, Java के लिए aconfig फ़्लैग का एलान करें में दिखाया गया
com.example.android.aconfig.demo.flags
. - नई डायरेक्ट्री पर जाएं.
- डायरेक्ट्री में, फ़्लैग की वैल्यू वाली एक फ़ाइल बनाएं. इसमें, फ़्लैग के एलान (
.aconfig
) वाली फ़ाइल में इस्तेमाल किए गए नाम को शामिल करें. जैसे,my_static_flag
के साथ_flag_values.textproto
, जो Java के लिए aconfig फ़्लैग का एलान करें में दिखाया गया है. इससे मिलने वाला फ़ाइल नामmy_static_flag_flag_values.textproto
है. फ़ाइल में बदलाव करके, नीचे दिए गए
flag_value
जैसा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
,build/release
है.package
में वही पैकेज नाम शामिल है जो एलान में इस्तेमाल किया गया है.srcs
, फ़्लैग की वैल्यू वाली सभी फ़ाइलों की सूची होती है.
फ़ाइल सेव करें और एडिटर से बाहर निकलें.
मौजूदा डायरेक्ट्री (
cd ..
) के ऊपर मौजूद डायरेक्ट्री पर जाएंAndroid.bp
फ़ाइल में बदलाव करें. इस बिल्ड फ़ाइल में, हर फ़्लैग वैल्यू फ़ाइल से जुड़े नामों (name
) की सूची होती है. इस सूची में, पिछली बिल्ड फ़ाइल (आठवां चरण) में इस्तेमाल किया गया नाम जोड़ें.Android बनाएं और अपना नया कोड चलाएं, ताकि यह पक्का किया जा सके कि वह फ़्लैग वैल्यू फ़ाइल में दी गई सेटिंग के मुताबिक चालू है.