एंड्रॉइड ऐप कहां डेटा स्टोर करते हैं?


97

क्या आप उन सभी संभावित निर्देशिकाओं को सूचीबद्ध कर सकते हैं जहां Android ऐप्स डेटा संग्रहीत कर सकते हैं, यह विवरण प्रदान करते हुए कि प्रत्येक निर्देशिका में किस प्रकार के डेटा संग्रहीत हैं?



जवाबों:


92

सभी एप्लिकेशन (रूट या नहीं) में एक डिफ़ॉल्ट डेटा निर्देशिका है, जो है /data/data/<package_name>। डिफ़ॉल्ट रूप से, एप्लिकेशन डेटाबेस, सेटिंग्स और अन्य सभी डेटा यहां जाते हैं। यदि कोई एप्लिकेशन भारी मात्रा में डेटा संग्रहीत करने की उम्मीद करता है, या अन्य कारणों से "आंतरिक भंडारण के लिए अच्छा होना चाहता है", तो SDCard ( Android/data/<package_name>) पर संबंधित निर्देशिका है ।

इसके अलावा, सभी ऐप एसडीकार्ड पर कहीं भी डेटा स्टोर कर सकते हैं, क्योंकि कोई प्रतिबंध नहीं है - और कई ऐप ऐसा करते हैं। वे निर्देशिका नामों का स्वतंत्र रूप से उपयोग कर सकते हैं (और वे फिर से करते हैं), जो कि अक्सर यह तय करना कठिन होता है कि कार्ड पर "जंक" के सभी उद्देश्य क्या हैं और इसे क्या हटाया जा सकता है।

हालांकि, जैसा कि टॉम ने बताया , रूट-ऐप्स आपके डिवाइस पर लगभग हर जगह अपना डेटा स्टोर कर सकते हैं, वे आमतौर पर अन्य ऐप के समान नियमों का पालन करते हैं।

आप मेरे उत्तर में Android निर्देशिका पदानुक्रम की एक सामान्य व्याख्या पा सकते हैं । आपके विशिष्ट प्रश्न के लिए मैं /data/data/<package_name>(और इसी SD-part) पर कुछ और विवरण जोड़ सकता हूं :

  • databases/: यहां ऐप के डेटाबेस पर जाएं
  • lib/: एप्लिकेशन के लिए पुस्तकालयों और सहायकों
  • files/: अन्य संबंधित फाइलें
  • shared_prefs/: वरीयताएँ और सेटिंग्स
  • cache/: ठीक है, कैश

इस जगह में कई और निर्देशिकाएं हो सकती हैं, या कम - यह सब ऐप पर निर्भर करता है। अपने स्वयं के "होम डायरेक्टरी" में (और यही वह मूल रूप से है, लिनक्स-वार बोला जाता है) वे जहां चाहें फाइल रख सकते हैं। आमतौर पर, ये फाइलें और निर्देशिकाएं केवल एप्लिकेशन (और रूट, निश्चित रूप से) द्वारा ही सुलभ होती हैं - एसडीकार्ड पर संग्रहीत उन लोगों के अलावा, जो सभी ऐप द्वारा सुलभ हैं।


1
है /data/data/<name>/files/में वर्णित के रूप फ़ाइलें बनाई जहां developer.android.com/guide/topics/data/... जाना चाहते हैं? यानी के साथ खोला FileOutputStream fos = openFileOutput(FILENAME, Context.MODE_PRIVATE);?
कोई

सामान्य तौर पर, यह पहले से ही एक अच्छा जवाब है, लेकिन डेवलपर के संदर्भ को जोड़ने के बारे में क्या है ।
कोई भी

@ कोई नहीं 2) क्योंकि वह पृष्ठ भारी डेवलपर उन्मुख है, जबकि यह साइट अंत-उपयोगकर्ता उन्मुख है? 1 के लिए भी) मैं कोई डेवलपर नहीं हूं, और यह विकास विवरण मांगता है। माफ़ करना।
इज़ी

1
मैं एक एसडी कार्ड की जरूरत नहीं है, और मेरे एंड्रॉयड 6 और एंड्रॉयड 7 में, Whatsapp संग्रहीत में डेटा के बहुत सारे /storage/emulated/0/WhatsApp/(उपनिर्देशिका .Shared, .trash, Backups, Databases, Media), सभी मीडिया भी शामिल है। मुझे नहीं पता कि यह इसके अतिरिक्त है \data\data..., मैं अब इस निर्देशिका तक नहीं पहुँच सकता। शायद यह संस्करणों के बीच बदल गया।
sancho.s

1
@ शयन रूट निर्देशिका ( /) एसडी कार्ड पर स्थित नहीं है। एसडी कार्ड का अर्थ है नीचे /sdcard(आंतरिक कार्ड, अंक /storage/emulated/<user>) या आपके बाहरी कार्ड का संगत पथ। और नहीं, मैं सभी संभावित स्थान की व्याख्या नहीं कर सकता जो कुछ ऐप का उपयोग कर सकते हैं, क्षमा करें; AFAIK /data/miscको एंड्रॉइड सिस्टम द्वारा ही प्रबंधित किया जाता है, इसलिए "मात्र ऐप्स" को सबसे अच्छी तरह से वहां पहुंचना चाहिए। कभी भी सामना नहीं किया गया data/user_de(जैसा कि यह एक सापेक्ष मार्ग है, मुझे नहीं पता कि आप किसी भी तरह से कहाँ हैं)।
इज़ी

9

आपके द्वारा पूछे जा रहे आपके प्रश्न का उत्तर बहुत बड़ा है। हालांकि, मैं आपको एक मूल उत्तर दे सकता हूं जो मूल बातें शामिल करता है।

ऐप्स दो प्रकार के होते हैं:
रूट और नॉन-रूट

रूट एप्लिकेशन मूल रूप से फ़ाइलों को स्टोर / संशोधित कर सकते हैं, जहाँ भी वे चाहते हैं।

गैर-रूट एप्लिकेशन यहां केवल फाइलों को संग्रहीत / संशोधित कर सकते हैं: /sdcard/और उसके बाद आने वाले प्रत्येक फ़ोल्डर को।
अधिकतर, इंस्टॉल किए गए ऐप्स खुद को /sdcard/Android/dataया पर स्टोर करते हैं /sdcard/Android/obb
कुछ एप्लिकेशन अपने सहेजे गए गेम / कॉन्फ़िगरेशन डेटा फ़ाइलों को स्टोर करते हैं /sdcard/APPNAME/, या बस रूट एप्लिकेशन /sdcard/

का उपयोग करने में सक्षम होने के लिए , आपको अपने एंड्रॉइड डिवाइस को रूट करना होगा और सुपरयुसर ऐप में से एक से अनुमति दी होगी।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.