2016-11-16 7 views
5

मैं समझना चाहता हूं कि adb shell setprop mypropertykey mypropertyvalue कैसे काम करता है। दूसरे शब्दों में, मैंने adb कमांड का उपयोग करके build.prop फ़ाइल को संपादित करने का प्रयास किया है और बदले गए फ़ाइल को सिस्टम फ़ोल्डर में धक्का दिया है, लेकिन जब मैं build.prop फ़ाइल से मान पढ़ने के लिए एक प्रक्रिया का प्रयास करता हूं और उपयोग करता हूं तो मुझे लगता है कि मुझे मिल रहा है एक खाली मूल्य।adb shell getprop और setprop कैसे काम करता है

हालांकि, जब मैं एमुलेटर तोड़ना जड़ मोड में खोल के माध्यम से संपत्ति सेट और फिर और कोड का उपयोग कर मूल्य पढ़ा है, मैं मूल्य प्राप्त करने में सक्षम हूँ।

जो मुझे समझ में नहीं आता है, अगर मूल्य खोल के माध्यम से सेट किया गया है तो यह build.prop फ़ाइल में क्यों नहीं लिखा जाता है? और getprop कहां से मूल्य पढ़ते हैं?

उत्तर

5

एंड्रॉइड सिस्टम गुण विशेष property_service द्वारा प्रबंधित किए जा रहे हैं। /system/build.prop केवल 4-6 में से एक है (संस्करण के आधार पर) केवल-पढ़ने वाली फाइलें जिनमें डिफ़ॉल्ट मान हैं property_service स्टार्ट-अप के दौरान अपने आंतरिक इन-मेमोरी डेटाबेस को पॉप्युलेट करने के लिए उपयोग करता है। इसलिए रन टाइम के दौरान फ़ाइलों में परिवर्तन रीबूट के बाद तक प्रचारित नहीं होंगे।

setprop और getprop कमांड का उपयोग उस डेटाबेस में डेटा तक पहुंचने के लिए किया जाता है। जब तक संपत्ति का नाम persist. से शुरू नहीं होता है - तो मान /data/property फ़ोल्डर में संग्रहीत हो जाता है।

+0

इसलिए यदि कोई एम्बेडेड एप्लिकेशन है जिसे build.prop फ़ाइल से पढ़ना है, तो वह मान हमेशा उपलब्ध होगा क्योंकि डिवाइस को पहले से ही रीबूट किया जाएगा? –

संबंधित मुद्दे