5 votos

comando en adb espera para siempre

Puedo ejecutar con éxito los comandos de ADB, pero si el comando no tiene salida la línea de comandos sólo espera allí y no me deja introducir un nuevo comando hasta que pulse ctrl-c, los comandos funcionan sin embargo. ¿Hay alguna forma de evitar que la línea de comandos espere eternamente hasta que pulse ctrl-c?

He aquí un ejemplo de lo que quiero decir. He introducido este comando, y la línea de comandos espera allí para siempre hasta que presione ctrl-c

enter image description here

Estoy usando Windows xp y el teléfono que estoy usando es un HTC Incredible

0 votos

Acabo de probar esto, con las últimas herramientas del SDK, conectado a mi FireTV (sobre TCP) mi comando se ejecuta y sale justo después. Tal vez tiene que ver con el dispositivo.

0 votos

Puedes probarlo como comandos separados: primero conéctate al shell adb, luego en el shell ejecuta "input keyevent 22" y mira si ese comando se cuelga. Si no, puede tener que ver con el ADBD que se ejecuta en el dispositivo.

0 votos

@RyanConrad ¿Cómo me conecto al shell primero?

2voto

Bryan W Puntos 121

La solución de @Swing funciona, pero requiere más información para ser útil.

Corriendo

netstat -nao | findstr 5037

mostrará todas las conexiones en el puerto 5037, que es el puerto TCP en el que se ejecuta el demonio ADB.

El terminal debería mostrar algo como esto:

  TCP    127.0.0.1:3592         127.0.0.1:5037         ESTABLISHED     9984
  TCP    127.0.0.1:3603         127.0.0.1:5037         ESTABLISHED     6204
  TCP    127.0.0.1:5037         0.0.0.0:0              LISTENING       9904
  TCP    127.0.0.1:5037         127.0.0.1:3592         ESTABLISHED     9904
  TCP    127.0.0.1:5037         127.0.0.1:3603         ESTABLISHED     9904

La última columna de números (como 9904) es la PID o Process ID que se ejecuta en el puerto que utiliza ADB. En algunos casos ADB no finaliza su proceso anterior y hace que las futuras instancias se cuelguen/esperen como describes.

Si estás en Windows, abre Task Manager , haga clic en Details y encontrar el ID correspondiente en el PID columna. Haz clic con el botón derecho del ratón en el proceso y termínalo, e intenta de nuevo el comando adb.

1voto

Swing Puntos 101

Utilice este comando para averiguar si el puerto 5037 es utilizado por otro proceso:

netstat -nao | findstr 5037

si está en uso, mate ese proceso, e inténtelo de nuevo.

1 votos

¿Puede darnos algunos antecedentes al respecto? ¿Para qué sirve el puerto 5037? ¿Dónde se ejecuta ese comando? Por otra parte, el OP afirma que el comando ADB tiene éxito (y luego se cuelga), y él simplemente quiere deshacerse de la necesidad de hacer un Ctrl-C. Entonces, ¿cómo mejora eso la solución que propones?

PreguntAndroid.com

PreguntAndroid es una comunidad de usuarios de Android en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X