2012-07-10 11 views
7

के तहत एडीबी में vi चल रहा है बहुत बार, मैं अपने एंड्रॉइड डिवाइस पर /system/build.prop या/etc/hosts कहता हूं, मैं एक फ़ाइल संपादित करना चाहता हूं। मुझे लगता है कि ऐसा करने का सबसे आसान तरीका यह है:विंडोज

c:\> adb shell 
$ su 
# vi /etc/hosts 

यदि मैं लिनक्स का उपयोग कर रहा हूं तो यह ठीक काम करता है। हालांकि, अजीब पात्रों के साथ एक बोर्कड वीआई स्क्रीन में विंडोज परिणाम का उपयोग करते समय अपने फोन पर वीआई चलाने की कोशिश कर रहा है। मुझे लगता है कि ऐसा इसलिए है क्योंकि cmd एएनएसआई नियंत्रण वर्णों का समर्थन नहीं करता है।

क्या इसे ठीक करने का कोई तरीका है (उदा।, एक cmd विकल्प जो नौकरी करता है)?

+0

[ConEmu] (http://superuser.com/a/446320/144961) ऐसा लगता है कि यह नौकरी करना चाहिए। –

+0

जानें [ed] (http://blog.sanctum.geek.nz/actually-using-ed/)? – ephemient

+1

@ माइकल हैम्पटन: यह _nearly_ काम करता है, लेकिन कुंजी को सही ढंग से संभाल नहीं करता है, जिससे सामान्य मोड में प्रवेश करना असंभव हो जाता है। –

उत्तर

7

आप इसे PuTTYTray के साथ कर सकते हैं। यह पुटीटी का एक बेहतर संस्करण है जिसमें कई अतिरिक्त सुविधाएं हैं। ऐसी सुविधा में से एक एंड्रॉइड एडीबी समर्थन है। इसका इस्तेमाल करने के लिए:

  • करें Adb रूप कनेक्शन प्रकार
  • -dमेजबान क्षेत्र
  • में दर्ज करें या device serial number (एकल USB डिवाइस के लिए) ???
  • लाभ !!!

PuTTYTray configuration

+1

के भीतर 'vi' में 'ईएससी' कुंजी का उपयोग करने में सक्षम नहीं था, केवल इस जवाब ने विंडोज 7 के तहत एडब श्रोता के माध्यम से पूर्ण स्क्रीन अनुप्रयोगों का उपयोग करने की कोशिश करने की मेरी समस्या को हल किया। जहां तक ​​मैं कह सकता हूं, ConEmu कुछ भी नहीं करता वर्णित समस्या को हल करने के लिए। मैंने विंडोज़ से बैश के तहत 'adb shell' चलाने का भी प्रयास नहीं किया। मुझे संदेह है कि समस्या विंडोज़ 'adb shell' कमांड के साथ ही है। PUTTYTray एडीबी श्रोता के साथ अपना स्वयं का कनेक्शन लागू करता है, जिसमें स्पष्ट रूप से पूर्ण स्क्रीन टर्मिनल इम्यूलेशन शामिल है जहां 'adb shell' नहीं है। ** नोट: ** ऊपर, आप मेजबान फ़ील्ड में -d का उपयोग करते हैं, लेकिन आपका स्नैपशॉट दिखाता है-विकल्प के रूप में। मैंने इस्तेमाल किया - एक सफल। –

+0

@ कोड-पढ़ा हाँ, '-d' और' -a' समकक्ष हैं जब केवल एक डिवाइस कनेक्ट होता है। 'Adb shell' के संबंध में आप भी सही हैं।AFAIK, PuTTYTray विंडोज से कनेक्ट करते समय एंड्रॉइड डिवाइस पर 'vi' और अन्य पूर्ण स्क्रीन ऐप्स का उपयोग करने का एकमात्र विश्वसनीय तरीका है। – Idolon

2

मुझे आपकी सटीक समस्या नहीं मिली है, लेकिन ऐसा लगता है कि Cygwin एक अच्छी शर्त होगी।

+0

मुझे वास्तव में साइगविन पसंद नहीं है, इसलिए मैं इससे बचने की उम्मीद कर रहा था। लेकिन यह यहां एकमात्र व्यावहारिक पसंद की तरह दिखता है। –

+1

मैं सिग्विन टर्मिनल – Idolon

0

क्या आप मूल रूप से की जरूरत है एक असली कमांडलाइन है ... Unix-style tools on Windows? MinGW http://www.mingw.org/ कि में देख लायक है Cygwin करने के लिए एक विकल्प नहीं है।

+1

अच्छा होगा लेकिन उन लोगों के लिए कोई एडीबी नहीं है और सामान्य विंडोज़ एडीबी अभी भी एक सिग्विन खोल और एमएसवाईएस में बेकार है। – Wyatt8740

2

यह 2012 में आपके प्रश्न का उत्तरदायी उत्तर है। मैंने पाया कि यदि मैं विंडोज पावरशेल चलाता हूं, तो मैं एडब खोल के तहत "vi" कर सकता हूं।

लॉन्च PowerShell

PS C:\Users\Me> cd Downloads\Android\Sdk\Platform-Tools 
PS C:\Users\Me\Downloads\Android\Sdk\Platform-Tools> .\adb shell 
[email protected]:/ # cd data/data/com.mycorporation.myproj/shared_prefs 
[email protected]:/data/data/com.mycorporation.myproj/shared_prefs # vi log_prefs 

मैं केवल की तरह 'ओ', 'esc' सरल vi आदेशों का इस्तेमाल किया है, और (अपने Android एसडीके स्थान, मेरा नहीं का उपयोग करें) ': wq', लेकिन यह अच्छी तरह से काम का उपयोग कर पूर्ण स्क्रीन (विंडोज कमान प्रॉम्प्ट में आप जो कचरा देखेंगे)।