2012-06-11 16 views
6

मुझे adb.exe का उपयोग करने में भुगतना पड़ा है।एंड्रॉइड एडीबी खोल अनुमति अस्वीकार

मैं उपयोग करने के लिए adb.exe सुरक्षा प्रॉम्प्ट बैश के रूप में ही चाहता था, इसलिए मैं डिफ़ॉल्ट बैश द्विआधारी बदलने का फैसला किया है (बेशक द्विआधारी पार संकलित किया गया था, और सब कुछ सही था)

परिवर्तन बैश बाइनरी क्रम नीचे

पीछा किया जाता है
  1. adb remount
  2. adb push bash /system/bin/

  3. adb shell

  4. cd /system/bin
  5. chmod 777 bash
  6. mv sh sh.bak
  7. ln -s bash sh

पहला परिवर्तन सफल रहा था, लेकिन यह समस्या उत्पन्न हुई है जब दूसरी कोशिश।

मैंने नई बाश बाइनरी को धक्का दिया, लेकिन मुझे बैश की अनुमति 777 में बदलाव आया, और adb shell डिस्कनेक्ट करें।

के बाद

C:\Program Files (x86)\Android\android-sdk\platform-tools>adb.exe shell 
- exec '/system/bin/sh' failed: Permission denied (13) - 

C:\Program Files (x86)\Android\android-sdk\platform-tools> 

वहाँ किसी भी स्मार्ट विचार इस अनुमति समस्या को ठीक करने है?

कृपया मेरी मदद करो ...

उत्तर

1

डिवाइस पूरी तरह से दुर्घटनाग्रस्त हो नहीं किया है (/ प्रणाली/bin/श बहुत कुछ के लिए एक निर्भरता है - रिबूट बहुत दूर नहीं मिल सकता है!) और सिस्टम भाग अभी भी लिखने योग्य है, आप बैश की एक नई प्रतिलिपि को दबाए रखने में सक्षम हो सकते हैं, जहां आपने इसे दबाए रखने से पहले मेजबान सिस्टम पर वांछित अनुमति बिट्स सेट कर दिए हैं (आपको अनुमति के लिए साइगविन या यहां तक ​​कि लिनक्स का उपयोग करना पड़ सकता है स्थानीय स्तर पर बिट्स)

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

यदि आपके पास एडीबी के साथ संशोधित वसूली है, तो आप शायद इसे सामान्य (सामान्य) सिस्टम विभाजन को घुमाने के द्वारा वहां से ठीक कर सकते हैं।

अंतिम उपाय एक विक्रेता द्वारा हस्ताक्षरित वेनिला छवि से बहाल होगा।

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

+0

क्या कोई और कस्टम टर्मिनल न केवल adb है? यदि टर्मिनल है जो मेरे फोन में स्थित विशिष्ट बाइनरी चलाता है, तो समस्या आसानी से तय की जाएगी। लेकिन मुझे यह कस्टम टर्मिनल नहीं मिल रहा है, क्या आप मुझे इसके बारे में कुछ कीवर्ड दे सकते हैं? –

+0

मैंने लिनक्स में अनुमति सेट की है, और इस बाइनरी को अपने फोन पर दबाएं। लेकिन अनुमति त्रुटि अभी भी हुई है। मुझे लगता है कि अनुमति फ़ाइल की संपत्ति नहीं है। thx –

+0

आपको फ़ाइल अनुमतियों से परे कोई अन्य समस्या हो सकती है, मूल एंड्रॉइड खोल की एक प्रति वापस धक्का देने का प्रयास करें। आपके द्वारा स्रोत से बनाए गए किसी भी टर्मिनल एप्लिकेशन को इसे लॉन्च करने में अनुकूलित किया जाना चाहिए, संभवतः कुछ प्रीबिल्ट वाले भी मेनू विकल्प के रूप में ऑफ़र करते हैं, हालांकि मुझे यह याद नहीं है। –

1

ऐसी चीजों को करने के लिए एक सामान्य समाधान: सिस्टम ऐप और सभी को हटा रहा है।

adb shell 
mount -o rw,remount -t yaffs2 /dev/block/mtdblk4 /system 
cd /system/app/ 
rm maps.apk 
mount -o ro,remount -t yaffs2 /dev/block/mtdblk4 /system 
sync 
reboot 
+1

यह मदद नहीं कर सकता है, मेरे मामले में, मैं एडीबी खोल का उपयोग कर शेल प्रॉम्प्ट निष्पादित नहीं कर सकता (बैश फ़ाइल की अनुमति एक्स्टटेबल नहीं है) मैं पूरे फर्मवेयर को स्वरूपित करके अपनी समस्या हल करता हूं उत्तर देने के लिए धन्यवाद! –

0

यदि आपके पास CWM के हाल के संस्करणों स्थापित आप

बचाया जा सकता है

एक) एडीबी रिबूट वसूली (वसूली में अपने फोन को बूट)

ख) CWM में वसूली माउंट/प्रणाली विभाजन (का उपयोग करते हुए आपका फोन)।

ग) एडीबी मार-सर्वर

घ) sudo एडीबी शुरू सर्वर

ई) adb शेल

च) अपने बात आपकी अनुमति के सही ढंग से

सेट करें मैं से प्रभावित था उत्तर https://android.stackexchange.com/questions/38085/is-it-a-hard-brick/113507#113507?newreg=6e0c0c0be98349058d3e1668532cd7dc

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