मैं एडीबी से भंडारण निर्देशिका कैसे निर्धारित कर सकता हूं?


9

क्या कोई तरीका है जिससे मैं बाह्य संग्रहण निर्देशिका (एंड्रॉइड एपीआई कॉल के बराबर) का निर्धारण करने के लिए एडीबी का उपयोग कर सकता हूं Environment.getExternalStorageDirectory()?

जवाबों:


13

adb shell echo $EXTERNAL_STORAGE। मुझे प्रयोग करने और इसे खोजने के लिए सभी श्रेय फ्लो को जाता है।

स्वाभाविक रूप से आप cd $EXTERNAL_STORAGEएक अदद शेल सत्र के दौरान या एक टर्मिनल एमुलेटर से जो कुछ भी आप की आवश्यकता हो सकती है उसका उपयोग कर सकते हैं ।


2
अच्छा टीम वर्क :) +1
फ्लो

2
बहुत अच्छा! धन्यवाद! ध्यान दें, हालांकि, अगर आपको अपने शेल के आधार पर $ बच निकलने की आवश्यकता हो सकती है। उदाहरण: adb
Shell

हम्म, यह पता चला है कि मेरे सैमसंग जीवंत मुझे $ EXTERNAL_STORAGE के लिए एक अलग मूल्य देता है, जितना कि यह पर्यावरण। यह पहला गंदा बग नहीं है जो मैंने इस फोन पर पाया है।
मांस नहीं

@stephelton यह निराशाजनक है। कौन सा गलत है? $ EXTERNAL_STORAGE, मेरे लिए सही है /mnt/sdcard/external_sd/
मैथ्यू

6

मुझे नहीं लगता कि यह संभव है। मैथ्यू पोस्ट देखें

लेकिन Environment.getExternalStorageDirectory()बाहरी भंडारण निर्देशिका कैसे लौटाता है, इस पर ताला लगाते हैं। एक त्वरित नज़र से android/os/Environment.javaपता चलता है कि यह सब विधि करता है, एक स्थिर स्थिर फ़ाइल सदस्य को वापस बुलाया जाता है EXTERNAL_STORAGE_DIRECTORY। इस स्थिरांक द्वारा प्रारंभ किया जाता है

private static final File EXTERNAL_STORAGE_DIRECTORY
        = getDirectory("EXTERNAL_STORAGE", "/sdcard");

जो कहता है getDirectory()

static File getDirectory(String variableName, String defaultPath) {
    String path = System.getenv(variableName);
    return path == null ? new File(defaultPath) : new File(path);
}

तो बाहरी भंडारण निर्देशिका और कुछ नहीं तो एक जावा सिस्टम पर्यावरण चर (या पूर्वनिर्धारित डिफ़ॉल्ट) है। आप आगे इस ट्रेस का अनुसरण करने का प्रयास कर सकते हैं। हो सकता है कि बाह्य संग्रहण निर्देशिका फ़ाइल सिस्टम पर कुछ कॉन्फ़िगरेशन फ़ाइल में सिर्फ एक कठिन कोडित पथ है। या शायद इन पर्यावरण चर को पढ़ने का एक तरीका है जिसके माध्यम से adbमुझे पता नहीं है।


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