2012-07-10 18 views
7

Bardzo rzadko będę chciał edytować plik, na przykład /system/build.prop lub/etc/hosts na moim urządzeniu z systemem Android. Najłatwiejszy sposób to wykonać:Uruchamianie vi w języku adb pod Windows

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

Działa to dobrze, jeśli używam systemu Linux. Jednak próba uruchomienia vi na moim telefonie podczas korzystania z systemu Windows prowadzi do zepsutego ekranu vi z dziwnymi znakami. Zakładam, że to dlatego, że cmd nie obsługuje znaków kontrolnych ANSI.

Czy istnieje sposób, aby to naprawić (np. Alternatywa cmd, która wykonuje zadanie)?

+0

[ConEmu] (http://superuser.com/a/446320/144961) wygląda na to, że powinien wykonać to zadanie. –

+0

Dowiedz się [ed] (http://blog.sanctum.geek.nz/actually-using-ed/)? – ephemient

+1

@MichaelHampton: To _nearly_ działa, ale nie obsługuje poprawnie klucza , uniemożliwiając wejście w tryb normalny. –

Odpowiedz

7

Możesz to zrobić pod numerem PuTTYTray. Jest to ulepszona wersja PuTTY, która ma wiele dodatkowych funkcji. Jedną z takich funkcji jest obsługa Android adb. Aby go użyć:

  • Wybierz Adb jak Typ przyłącza
  • Wprowadź -d (dla jednego urządzenia USB) lub device serial number w gospodarza dziedzinie
  • ???
  • ZYSK !!!

PuTTYTray configuration

+1

Tylko ta odpowiedź rozwiązała mój problem polegający na próbie użycia pełnoekranowych aplikacji przez odbiornik adb w systemie Windows 7. O ile wiem, ConEmu nie robi nic aby rozwiązać opisany problem. Próbowałem też uruchomić 'adb shell' pod bash z Windowsa bez skutku. Podejrzewam, że problem dotyczy samego polecenia Windows 'adb shell'. PuTTYTray implementuje własne połączenie ze słuchaczem adb, który najwyraźniej zawiera emulację terminalu na pełnym ekranie, gdzie 'adb shell' nie. ** Uwaga: ** Powyżej, mówisz, użyj -d w polu hosta, ale twoja migawka pokazuje -a jako opcję. Użyłem -a się udało. –

+0

@ Kod-Odczytaj tak, '-d' i' -a' są odpowiednikami, gdy podłączone jest tylko jedno urządzenie. Co do 'powłoki adb', masz rację.AFAIK, PuTTYTray to jedyny niezawodny sposób używania "vi" i innych pełnoekranowych aplikacji na urządzeniu z systemem Android podczas łączenia się z Windows. – Idolon

2

Nigdy nie miałem twojego dokładnego problemu, ale wygląda na to, że dobrze byłoby założyć, że Cygwin.

+0

Nie bardzo lubię cygwin, więc miałem nadzieję, że go uniknę. Ale wygląda na to, że jest to jedyny możliwy wybór tutaj. –

+1

Nie mogłem użyć klawisza 'ESC' w' vi' w terminalu Cygwin – Idolon

2

To jest późna odpowiedź na twoje pytanie w 2012 roku. Odkryłem, że jeśli uruchomię Windows PowerShell, mogę zrobić "vi" pod powłoką adb.

Uruchom PowerShell (użyj swoją lokalizację Android SDK, nie moje)

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 

użyłem tylko prostych poleceń vi jak 'o', 'ESC', a ': wq', ale to działało dobrze używając pełny ekran (brak śmieci, które można zobaczyć w wierszu polecenia systemu Windows).

Powiązane problemy