2010-09-06 11 views
6

मैं एंड्रॉइड उपकरणों पर सुपरसियर पहुंच रखने के पीछे विधि खोजने की कोशिश कर रहा हूं। मूल रूप से मैं चाहता हूं कि मेरा ऐप सिस्टम फ़ाइलों को निकालने में सक्षम हो, और इसलिए उपयोगकर्ता से पूछें कि ऐप लॉन्च होने के ठीक बाद अन्य ऐप्स की तरह लॉन्च किया गया है, और फिर मैं किस प्रकार के कोड को इस तरह के कार्यों को करने के लिए उपयोग करना चाहता हूं? Googleसुपर उपयोगकर्ता अनुमतियों का उपयोग कर एंड्रॉइड? पहुंच

पर बहुत कुछ नहीं मिल सकता है अग्रिम धन्यवाद!

उत्तर

10

डिवाइस निहित है, तो आप एक रूट खोल में पहुँच प्राप्त करने के लिए निम्न कोड का उपयोग कर सकते हैं:

try 
    { 
     Process process = Runtime.getRuntime().exec("su"); 
     DataOutputStream outputStream = new DataOutputStream(process.getOutputStream()); 
     DataInputStream inputStream = new DataInputStream(process.getInputStream()); 

     outputStream.writeBytes(command + "\n"); 
     outputStream.flush(); 

     outputStream.writeBytes("exit\n"); 
     outputStream.flush(); 
     process.waitFor(); 
    } 
    catch (IOException e) 
    { 
     throw new Exception(e); 
    } 
    catch (InterruptedException e) 
    { 
     throw new Exception(e); 
    } 

कहाँ "कमांड" कमांड है कि आप निष्पादित करने के लिए चाहते हैं।

+0

आपको यह संसाधन कहां मिला है? क्या इसके लिए कोई दस्तावेज है? मैं अनुमान लगाता हूं कि मैं प्रत्येक बार कमांड वैरिएबल का उपयोग करता हूं, जब भी मैं इस आदेश की आवश्यकता वाले कमांड को चलाने के लिए चाहता हूं? –

+0

मदद की खुशी! मुझे याद नहीं है कि मुझे वह कोड कहाँ मिला लेकिन मुझे पता है कि इसमें बहुत सारी गुगलिंग हुई है। नमूना एक ऐप से लिया गया था जिसे मैं वर्तमान में काम कर रहा हूं। एकाधिक कमांड चलाने के लिए, बस "outputStream.writeBytes (" कमांड \ n ") करें;" और "outputStream.flush();" प्रत्येक आदेश के लिए। आप लूप ओवर पर कमांड की एक सूची भी बना सकते हैं। –

1

यदि मुझे यह सही हो रहा है तो आप अपने आवेदन रूट विशेषाधिकार प्रदान करना चाहते हैं। डिवाइस पर स्थापित मानक एंड्रॉइड छवि के साथ यह संभव नहीं है। Su कमांड रूट में बदलने का समर्थन नहीं करता है।

हालांकि आप अपने डिवाइस पर एक अनुकूलित रूट रॉम लोड कर सकते हैं इसके अलावा मुझे डर है कि कोई समाधान नहीं है।

+1

मैं कई कई अनुप्रयोगों है कि सुपर उपयोगकर्ता अनुमतियों के लिए बहुत शुरू करने से पहले इस्तेमाल नहीं यकीन है कि क्या अपने पर के बारे में –

+0

सुनिश्चित करें कि आप सुपर उपयोगकर्ता की अनुमति के लिए पूछ सकते हैं, लेकिन डिफॉल्ट अनछुए रॉम वाले डिफॉल्ट रूट रूट डिवाइस पर यह काम नहीं करेगा। मैं क्या कहना चाहता था। –

1

Here आप कैसे जड़ अनुमतियों हासिल करने के लिए के बारे में एक स्पष्ट चित्रण पा सकते हैं

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