2012-07-10 61 views
7

偶爾,我會編輯一個文件,在我的Android設備上說/system/build.prop或/ etc/hosts。我發現,這樣做最簡單的方法是:在Windows下在adb中運行vi

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

這如果我使用Linux工作正常。但是,嘗試在使用Windows時在手機上運行vi會導致帶有奇怪字符的borked vi屏幕。我假設這是因爲cmd不支持ANSI控制字符。

有什麼方法可以解決這個問題嗎(例如,一個可以完成這項工作的cmd選項)?

+0

[ConEmu](http://superuser.com/a/446320/144961)看起來應該可以完成這項工作。 – 2012-07-10 21:57:53

+0

學習[編輯](http://blog.sanctum.geek.nz/actually-using-ed/)? – ephemient 2012-07-10 23:15:13

+1

@MichaelHampton:這個_nearly_可以正常工作,但不能正確處理鍵,從而無法進入正常模式。 – 2012-07-11 14:41:11

回答

7

您可以使用PuTTYTray。它是PuTTY的改進版本,具有許多附加功能。其中一項功能是Android adb支持。使用它:

  • 選擇Adb連接類型
  • 宿主字段
  • 輸入-d(對於單USB設備)或device serial number ???
  • 利潤!

PuTTYTray configuration

+1

只有這個答案解決了我在Windows 7下通過adb監聽器嘗試使用全屏應用程序的問題。據我所知,ConEmu什麼都不做解決所描述的問題。我也嘗試在Windows的bash下運行'adb shell'無濟於事。我懷疑問題出在Windows的''adb shell'命令本身。 PuTTYTray實現了自己的連接到adb監聽器,這顯然包括全屏終端仿真,其中'adb shell'沒有。 **注意:**上面,你說在主機字段中使用-d,但你的快照顯示-a作爲選項。我用了 - 成功。 – 2016-05-31 20:49:15

+0

@代碼讀取yes,'-d'和'-a'是等效的,只有一個設備連接。關於'adb shell'你也是對的。AFAIK,PuTTYTray是從Windows連接時在Android設備上使用'vi'和其他全屏應用程序的唯一可靠方法。 – Idolon 2016-06-01 15:09:22

2

我從來沒有確切的問題,但它似乎Cygwin將是一個很好的選擇。

+0

我不太喜歡cygwin,所以我希望避免它。但它看起來是唯一可行的選擇。 – 2012-07-11 14:40:27

+1

我無法在Cygwin終端內的'vi'中使用'ESC'鍵 – Idolon 2015-03-13 13:16:10

0

什麼,你基本上需要是一個真正的命令行... Unix-style tools on Windows? MinGW的http://www.mingw.org/是替代Cygwin的這是值得研究的。

+1

會很好,但是對於那些和正常的窗口來說,ADB仍然吸引着cygwin shell和MSYS。 – Wyatt8740 2016-06-15 20:25:30

2

這是2012年對您的問題的一個延遲答案。我發現如果我運行Windows PowerShell,我可以在adb shell下執行「vi」。

啓動的PowerShell(使用Android SDK的位置,而不是我)

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 

我只用像 'O', 'ESC' 簡單的vi命令,並且 ':WQ',但它的工作以及使用全屏(你在Windows命令提示符中看到的垃圾都不是)。