2017-07-04 39 views
12

मैं एक ऐप बना रहा हूं जिसमें मैं एंड्रॉइड बाहरी मेमोरी फाइल सिस्टम में हार्डलिंक्स और सिम्लिंक का उपयोग करना चाहता हूं। मैं कमांड का प्रयोग की कोशिश की हैएंड्रॉइड में हार्डलिंक्स और सिम्लिंक बनाना

Os.link("oldpath", "newpath"); 
Os.link("oldpath", "newpath"); 

हालांकि, जब मैं यह कोशिश, मैं इस त्रुटि मिलती है:

link failed: EPERM (Operation not permitted) 

यह मैं लगता है कि आप, रूट पहुँच की आवश्यकता है, हालांकि मैंने देखा है अन्य लोगों को ऐसा करने के लिए बनाता है वही बात, और मुझे नहीं लगता कि अगर उन्हें रूट की आवश्यकता होती है तो उनके पास ये आदेश होंगे। कोई विचार?

+1

आप किस पथ में हार्ड लिंक बनाने की कोशिश कर रहे हैं। –

+0

मुझे लगता है कि आपको यहां से चरणों की जांच करनी चाहिए https://stackoverflow.com/a/30387667/3800377 –

+0

@KamilMahmood मैं इसे बाहरी संग्रहण –

उत्तर

10

ओएस.लिंक पर कॉल विफल हो रहा है क्योंकि एंड्रॉइड बाहरी भंडारण के लिए डिफ़ॉल्ट रूप से FAT32 फ़ाइल सिस्टम का उपयोग करता है। FAT32 फ़ाइल सिस्टम हार्ड लिंक और सॉफ्ट लिंक का समर्थन नहीं करता है, यही कारण है कि आप ऑपरेशन प्राप्त कर रहे हैं त्रुटि की अनुमति नहीं है।

EPERM The filesystem containing oldpath and newpath does not support the creation of hard links.

आप के बारे में लिंक सिस्टम कॉल अधिक जानकारी पढ़ सकते here

इसके अलावा आप कर सकते हैं नहीं नकली हार्ड लिंक या सही रूप में FAT32 पर सॉफ्ट लिंक। और यह भी ध्यान रखें कि एंड्रॉइड में हार्ड लिंक बनाने के लिए रूट अनुमति की आवश्यकता है।

+0

तो क्या कोई तरीका है कि मैं एक हार्डलिंक या मेरे उपयोग के लिए कुछ ऐसा कर सकता हूं, या मेरा मामला म्यूट प्रस्तुत किया गया है? @KamilMahmood –

+0

@ अश्विनकुड्डा मैंने जवाब अपडेट किया है –

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