5 votes

La commande adb attend indéfiniment

Je peux exécuter avec succès les commandes ADB, mais si la commande n'a pas de sortie, la ligne de commande attend là et ne me laisse pas entrer une nouvelle commande jusqu'à ce que j'appuie sur ctrl-c, les commandes fonctionnent cependant. Existe-t-il un moyen d'empêcher la ligne de commande d'attendre indéfiniment jusqu'à ce que j'appuie sur ctrl-c ?

Voici un exemple de ce que je veux dire. J'ai entré cette commande, et la ligne de commande reste en attente jusqu'à ce que j'appuie sur ctrl-c.

enter image description here

J'utilise Windows xp et le téléphone que j'utilise est un HTC Incredible.

0 votes

Je viens de le tester, avec les derniers outils SDK, connecté à ma FireTV (via TCP) ma commande s'exécute et se termine juste après. Peut-être que c'est lié à l'appareil.

0 votes

Pouvez-vous essayer des commandes séparées : connectez-vous d'abord à l'interpréteur de commandes adb, puis dans l'interpréteur de commandes, exécutez "input keyevent 22" et voyez si cette commande se bloque. Si ce n'est pas le cas, cela peut être lié à l'ADBD qui fonctionne sur l'appareil.

0 votes

@RyanConrad comment se connecter au shell en premier ?

2voto

Bryan W Points 121

La solution de @Swing fonctionne, mais nécessite plus d'informations pour être utile.

Running

netstat -nao | findstr 5037

affichera toutes les connexions sur le port 5037, qui est le port TCP sur lequel fonctionne le démon ADB.

Le terminal devrait afficher quelque chose comme ceci :

  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 dernière colonne de nombres (comme 9904) est le PID o Process ID qui fonctionne sur le port utilisé par ADB. Dans certains cas, ADB ne termine pas son processus précédent et provoque l'attente des instances futures comme vous l'avez décrit.

Si vous êtes sous Windows, ouvrez Task Manager , cliquez Details et trouver l'ID correspondant dans le PID colonne. Faites un clic droit sur le processus et terminez-le, puis réessayez votre commande adb.

1voto

Swing Points 111

Utilisez cette commande pour savoir si le port 5037 est utilisé par un autre processus :

netstat -nao | findstr 5037

s'il est utilisé, arrêtez ce processus, puis réessayez.

1 votes

Pouvez-vous nous en dire plus à ce sujet ? À quoi sert le port 5037 ? Où cette commande doit-elle être exécutée ? De plus, l'OP déclare que la commande ADB réussit (puis se bloque), et qu'il veut simplement se débarrasser de la nécessité de faire Ctrl-C. En quoi la solution que vous proposez améliore-t-elle la situation ?

androidalle.com

AndroidAlle est une communauté de androiders où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X