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