2012-07-10 17 views
7

Muy ocasionalmente, querré editar un archivo, digamos /system/build.prop o/etc/hosts en mi dispositivo Android. Encuentro que la forma más fácil de hacerlo es:Ejecutando vi en adb en Windows

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

Esto funciona bien si uso Linux. Sin embargo, intentar ejecutar vi en mi teléfono al usar Windows da como resultado una pantalla borked vi con caracteres extraños. Supongo que es porque cmd no admite caracteres de control ANSI.

¿Hay alguna manera de arreglar esto (por ejemplo, una alternativa de cmd que hace el trabajo)?

+0

[ConEmu] (http://superuser.com/a/446320/144961) parece que debería hacer el trabajo. –

+0

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

+1

@MichaelHampton: este _ casi_ funciona, pero no maneja la clave correctamente, lo que hace imposible ingresar al modo normal. –

Respuesta

7

Puede hacerlo con PuTTYTray. Es una versión mejorada de PuTTY que presenta una serie de características adicionales. Una de estas funciones es Android adb compatible. Para usarlo:

  • Select Adb como Tipo de conexión
  • Introduzca -d (para dispositivo USB individual) o device serial number en el campo anfitrión
  • ???
  • GANANCIA !!!

PuTTYTray configuration

+1

Solo esta respuesta resolvió mi problema de intentar usar aplicaciones de pantalla completa a través del oyente adb bajo Windows 7. Por lo que puedo decir, ConEmu no hace nada para resolver el problema descrito También intenté ejecutar 'adb shell' bajo bash desde Windows inútilmente. Sospecho que el problema es con el comando '' adb shell' de Windows. PuTTYTray implementa su propia conexión con el oyente adb, que aparentemente incluye una emulación de terminal de pantalla completa donde 'adb shell' no lo hace. ** Nota: ** Arriba, dices usar -d en el campo de host, pero tu instantánea muestra -a como la opción. Utilicé un exitoso. –

+0

@ Code-Read yes, '-d' y' -a' son equivalentes cuando solo hay un dispositivo conectado. Con respecto a 'adb shell' también tienes razón.AFAIK, PuTTYTray es la única forma confiable de usar 'vi' y otras aplicaciones de pantalla completa en el dispositivo Android cuando se conecta desde Windows. – Idolon

2

Nunca he tenido su problema exacto, pero parece que Cygwin sería una buena apuesta.

+0

Realmente no me gusta Cygwin, así que esperaba evitarlo. Pero parece ser la única opción viable aquí. –

+1

No pude usar la tecla 'ESC' en' vi' dentro del terminal Cygwin – Idolon

0

Lo que básicamente necesita es una verdadera línea de comandos ... Unix-style tools on Windows? MinGW http://www.mingw.org/ es una alternativa a Cygwin que vale la pena analizar.

+1

sería bueno, pero no hay adb para ellos y el ADB de Windows normal todavía apesta en un shell cygwin y MSYS. – Wyatt8740

2

Esta es una respuesta tardía a su pregunta en 2012. Descubrí que si ejecuto Windows PowerShell, puedo hacer "vi" debajo del shell adb.

lanzamiento PowerShell (usar su ubicación Android SDK, no la mía)

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 

solamente he usado comandos vi simples como 'O', 'esc', y ': WQ', pero funcionó bien mediante el pantalla completa (nada de la basura que vería en el símbolo del sistema de Windows).

Cuestiones relacionadas