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