सबसे पहले हमें मूलभूत बातें प्राप्त करने दें। Android नीचे लिनक्स कर्नेल चलाएं। अब यदि आपको सुपर यूजर विशेषाधिकारों (इसे रूट के रूप में चलाएं) के साथ अपनी प्रक्रिया को चलाने की ज़रूरत है तो आपकी प्रक्रिया को निष्पादित करने का एकमात्र तरीका command line
के माध्यम से है क्योंकि यह एकमात्र तरीका है जिससे आप सीधे कर्नेल से बातचीत कर सकते हैं। किसी भी कमांड को चलाने से पहले आपको su
का उपयोग करने की आवश्यकता है। इसके अलावा क्रिस ने 1 उत्तर
Process process = Runtime.getRuntime().exec("su");
पर लगभग अपनी टिप्पणी में उल्लेख किया है। यह सिर्फ संवाद का उपयोग कर सुपर उपयोग विशेषाधिकार के लिए पूछेगा। आप क्या कर सकते बजाय सिर्फ
Process process = Runtime.getRuntime().exec(new String[] { "su", "-c", yourCommand});
निम्नलिखित -c विकल्प
सबसे अधिक सु के कुछ विकल्पों में से इस्तेमाल किया के अलावा के रूप में su
आप सु के साथ अपने प्रक्रिया निष्पादित कर सकते हैं को क्रियान्वित करने के है, -c है जो su to execute the command that directly follows it on the same line
बताता है। इस तरह के आदेश को नए उपयोगकर्ता के रूप में निष्पादित किया जाता है, और उसके बाद टर्मिनल विंडो या कंसोल जिसे सु चलाया गया था, कमांड निष्पादन पूरा होने के बाद या उसके द्वारा लॉन्च किए गए किसी भी प्रोग्राम को बंद करने के बाद तुरंत उपयोगकर्ता के खाते में वापस आ जाता है। (More details)
वैकल्पिक विकल्प
उपरोक्त विधि से एक के लिए वैकल्पिक एक और तरीका है कि काम हो सकता है आप /system/app/
निर्देशिका करने के लिए एप्लिकेशन को कॉपी करने के आदेश पंक्ति का उपयोग करें।फिर आपका एप्लिकेशन रूट विशेषाधिकारों (सिस्टम ऐप्स के समान) के साथ स्वचालित रूप से चला जाएगा (More on Android partitions)
स्रोत
2013-12-28 11:05:57
कृपया ध्यान दें कि इस अपरिवर्तित प्रश्नों के बहुत सारे उत्थानों के साथ उत्तर है, ** यह उत्तर गलत और बेकार ** है, और तंत्र जो गलत तरीके से इंगित करता है वे खुद को लंबे समय से हटा दिए जाते हैं। यह कुछ भी पूरा नहीं करता है, और लिनक्स कर्नेल और यूनिक्स सुरक्षा और प्रक्रिया मॉडल की मौलिक गलतफहमी से उत्पन्न होता है जिस पर एंड्रॉइड निर्भर करता है। –