Google, फ़ीचर लॉन्च फ़्लैग का इस्तेमाल यह पक्का करने के लिए करता है कि कोड ब्रांच स्टेबल हों. ये फ़्लैग, AOSP में कुछ तरह के योगदान के लिए भी ज़रूरी हैं. सुविधा लॉन्च करने के लिए फ़्लैग करने की सुविधा लागू करने से पहले, यह तय करें कि आपके बदलाव के लिए फ़्लैग ज़रूरी है या नहीं. अगर फ़्लैग लगाना ज़रूरी है, तो आपको यह तय करना होगा कि किस तरह का फ़्लैग इस्तेमाल करना है.
फ़्लैग के इस्तेमाल का पता लगाना
किसी सुविधा को लॉन्च करने के लिए फ़्लैग का इस्तेमाल कब करना है, यह तय करने के लिए इन दिशा-निर्देशों का पालन करें:
अगर आपको ऐसा बदलाव करना है जिसकी वजह से AOSP कोडबेस अस्थिर हो सकता है, तो फ़ीचर लॉन्च फ़्लैग का इस्तेमाल करें. जैसे, कोई नई सुविधा जोड़ना या किसी खास जटिल बग को ठीक करना.
इसके उलट, अगर आपको कोड में ऐसा बदलाव करना है जिससे कोडबेस में कोई समस्या नहीं आएगी, जैसे कि टिप्पणियों में बदलाव करना, तो आपको फ़ीचर लॉन्च फ़्लैग का इस्तेमाल करने की ज़रूरत नहीं है.
फ़्लैग टाइप का पता लगाना
फ़्लैग दो तरह के होते हैं: aconfig फ़्लैग और build फ़्लैग.
Aconfig फ़्लैग
टेस्टिंग और रिलीज़ की प्रोसेस के दौरान, रिलीज़ नहीं किए गए कोड को रिलीज़ किए गए कोड से अलग करने के लिए, Aconfig फ़्लैग का इस्तेमाल किया जाता है. Aconfig फ़्लैग, पढ़ने और लिखने या सिर्फ़ पढ़ने के लिए हो सकते हैं:
रीड-राइट aconfig फ़्लैग, बूलियन वैरिएबल होते हैं. इन्हें रनटाइम के दौरान चालू (
true
पर सेट करें) या बंद (false
पर सेट करें) किया जा सकता है. मुख्य ब्रांच की स्थिरता पर असर डाले बिना, बदलावों की जांच करने और उन्हें रिलीज़ करने के लिए, रीड-राइट फ़्लैग का इस्तेमाल करें.रीड-ओनली aconfig फ़्लैग, बूलियन कॉन्स्टेंट होते हैं. इन्हें रनटाइम में बदला नहीं जा सकता. स्थिर और रिलीज़ के लिए तैयार कोड के लिए, रीड-राइट वाले aconfig फ़्लैग को रीड-ओनली वाले aconfig फ़्लैग में बदला जा सकता है.
इसके अलावा, इस्तेमाल किए जा रहे कंपाइलर के आधार पर, read-only फ़्लैग का इस्तेमाल करने पर, हो सकता है कि ऐसे कोड को बिल्ड से हटा दिया जाए जिसे एक्ज़ीक्यूट नहीं किया जाता. इसलिए, सिर्फ़ पढ़ने के लिए उपलब्ध फ़्लैग का इस्तेमाल करके, ऐसे कोड को छिपाया जा सकता है जिसे रिलीज़ में शामिल नहीं किया जाना है.
फ़्लैग बनाना
बिल्ड फ़्लैग, बिल्ड-टाइम कॉन्स्टेंट (स्ट्रिंग) होते हैं. इन्हें रनटाइम के दौरान बदला नहीं जा सकता. इन फ़्लैग का इस्तेमाल उन मामलों में करें जहां aconfig फ़्लैग का इस्तेमाल नहीं किया जा सकता. जैसे:
- आपके पास पहले से कंपाइल किया गया या पहले से बनाया गया कोड है, जिसे आपको बिल्ड में शामिल करना है.
- आपको बिल्ड सिस्टम में बदलाव करने हैं.
- आपको कोड के साइज़ को मैनेज करने के लिए, डिपेंडेंसी के आस-पास फ़्लैग लगाने हैं.