web-dev-qa-db-fra.com

ADB ne démarre pas (pas de message d'erreur)

J'essaye de courir adb. Quand je lance: "adb start-server", il se bloque pendant un moment, puis aucun message.

Après cela, la commande "adb get-state" reçoit la réponse "erreur: erreur de protocole (pas d'état)" Si je lance alors "adb kill-server", la réponse est "* le serveur n'est pas en cours d'exécution *"

J'utilise Windows 7. Un administrateur a élevé mes droits au profit d'un administrateur local, mais cela n'a rien résolu. 

J'ai utilisé le moniteur de ressources pour vérifier si une autre application utilise les ports d'adb, mais ce n'est pas le cas.

sur https://developers.google.com/chrome-developer-tools/docs/remote-debugging l'étape 3 indique "Activer le débogage Web USB" sous Paramètres> Avancé> Outils de développement. Mais sur mon téléphone test, il n’ya pas de catégorie "avancée" dans les paramètres de chrome. Je ne pouvais pas savoir non plus quelle était la version de Chrome installée.

Quelque part sur le Web, une suggestion de modifier les droits de "tmp/Android /" a été proposée pour permettre la lecture et l'écriture à tous les utilisateurs, mais il existe C:\Utilisateurs\me\AppData\Local\Android\android-sdk\temp pas de dossier Android.

Donc, je suis assez désespéré maintenant, toute aide serait extrêmement appréciée.

merci

-Olivier

EDIT 1 : Je n'ai pas trouvé "Activer le débogage Web USB" car il s'agissait de "navigateur Android" et non de chrome (un peu ridicule, oui). Je ne le savais pas. En utilisant un autre périphérique avec le bon chrome installé, je pourrais cocher l’option ici, mais adb se bloque toujours au démarrage.

EDIT 2 : J'ai fait une folle idée qu'il y avait un problème d'écriture avec le dossier platform-tools. J'ai donc tout désinstallé à l'aide du gestionnaire sdk, j'ai supprimé l'intégralité du fichier adt-bundle-windows. -x86_64. Puis je l'ai décompressé ailleurs, sur c :. Chose étrange, lorsque je lance SDKManager.exe, plusieurs packages sont déjà marqués comme installés:

  • Outils> Outils du SDK Android
  • Outils> SDK Android Plateform-tools
  • Android 4.2.2> Plateforme SDK
  • Android 4.2.2> Image système ARM EABI v7a
  • Extras> Support Library Android

J'ai essayé de les désinstaller à nouveau, supprimer le dossier, décompresser à nouveau et réinstaller, mais toujours le même résultat. Il semble que, d'une manière ou d'une autre, il est mal installé mais refuse de se désinstaller correctement. Quelqu'un sait comment forcer la désistement?

EDIT 3 : Sortie du serveur de démarrage adb après avoir utilisé set ADB_TRACE = 1

C:\adt-bundle-windows-x86_64-20130219\sdk\platform-tools>adb start-server
system/core/adb/adb.c::main():Handling commandline()
system/core/adb/adb_client.c::_adb_connect():_adb_connect: Host:version
system/core/adb/sysdeps_win32.c::socket_loopback_client():socket_loopback_client: port 5037 type tcp => fd 100
system/core/adb/transport.c::writex():writex: fd=100 len=4: 30303063 000c
system/core/adb/transport.c::writex():writex: fd=100 len=12: 686f73743a76657273696f6e Host:version
system/core/adb/transport.c::readx():readx: fd=100 wanted=4
system/core/adb/transport.c::readx():readx: fd=100 disconnected
system/core/adb/sysdeps_win32.c::adb_close():adb_close: 100(lo-client:5037)
system/core/adb/adb_client.c::adb_connect():adb_connect: service Host:start-server
10
Olivvv

Essayez de définir la variable d’environnement ADB_TRACE avant de démarrer le serveur ADB pour voir s’il peut fournir des indices:

 C:\Android\android-sdk\platform-tools>set ADB_TRACE=1
 C:\Android\android-sdk\platform-tools>adb start-server

S'il vous plaît inclure la sortie dans votre question.

5
Joe

Cette solution a fonctionné pour moi:

=> Vérifiez si adb est en cours d'exécution dans Gestionnaire des tâches , puis tuez-le. Maintenant, essayez de le redémarrer à nouveau via la méthode suivante:

1) Maj + clic droit dans le dossier ...\Android-sdk\platform-tools et sélectionnez Open command window here

2) Utilisez ces commandes: adb kill-server puis adb start-server

Si cette méthode ne fonctionne pas et que vous voyez quelque chose comme ceci dans la fenêtre de commande Killing adb...

Puis appliquez les étapes suivantes:

3) Fermer Eclipse

4) Tuez maintenant javaw.exe Java(TM) Platform SE binary dans Task manager et suivez les étapes 1 et 2 à nouveau.

Cela fonctionnera sûrement. :)

4
Arsalan Mehmood

Pour résoudre le problème dans la machine Windows, essayez de suivre:

Problème: la BAD arrête de connecter le périphérique Android connecté Le démon ne fonctionne pas et le démon fonctionne sur le port 5037

Solution:

commencez par répertorier tous les processus en cours d'exécution sur le port 5037 : netstat -ano | find "5037" Sortie de la commande ci-dessus: TCP 127.0.0.1:52935 127.0.0.1:5037 SYN_SENT 31016 TCP 127.0.0.1:52936 127.0.0.1:5037 SYN_SENT 31016

Éliminez les processus en cours d'exécution sur le port 5037: Commande: taskkill/F/PID 31016

lancer adb kill-server sortie: * le serveur n'est pas en cours d'exécution *

exécutez le démon adb start-server * non en cours d'exécution. en le démarrant maintenant à tcp: 5037 * * démon démarré avec succès *

lancer des périphériques adb vous donner la liste des périphériques

2
Swati Shrivastava

Sur C:\Documents and Settings\userfoo.Android , certains fichiers liés à Android ne sont pas supprimés par le programme de désinstallation. Bien que la plupart d'entre eux soient utilisés par AVD et non par ADB, je vous recommande de le supprimer avant toute nouvelle installation.

Veuillez vérifier vos droits et privilèges d’utilisateur, ainsi que les privilèges «système» de l’utilisateur, car, dans certaines entreprises, ils sont tronqués pour éviter les attaques de virus ou les attaques automatisées.

1
Ger Soto

Essaye ça,

Ouvrez une invite de commande avec le droit d’administration et tapez

netsh interface tcp set global autotuninglevel = désactivé

Cela a fonctionné pour moi

1
Hanju Kim

La sortie peut être épinglée au code de transport:

D("readx: fd=%d wanted=%d\n", fd, (int)len);

while(len > 0) {
    r = adb_read(fd, p, len);
    if(r > 0) {
        len -= r;
        p += r;
    } else {
        if (r < 0) {
            D("readx: fd=%d error %d: %s\n", fd, errno, strerror(errno));
            if (errno == EINTR)
                continue;
        } else {
            D("readx: fd=%d disconnected\n", fd);
        }
        return -1;
    }

cela pourrait vouloir dire que adb_read() renvoie 0 (EOF), alors que le transport tente de lire les 4 prochaines. On dirait donc que le transport ne peut pas lire autre chose que le format EOF et se déconnecte simplement. C'est peut-être un problème de pilote USB.

Essayez d’utiliser Linux ou d’exécuter des commandes avec les privilèges root/admin.

1
S.D.
  1. Désinstallez Platform Tools dans Android SDK Manager
  2. Trouvez et supprimez toutes les copies de AdbWinUsbApi.dll, AdbWinApi.dll et adb.exe
  3. Réinstallez Platform Tools dans Android SDK Manager
0
Alex P.

Ce que j’ai fait, c’est de fermer adb.exe sur mon gestionnaire de tâches, de redémarrer Android Studio, puis de reconnecter mon appareil, puis tout s’est bien passé: D 

0
TheGood Guy

Je peux penser à quelques scénarios dans lesquels vous rencontriez ce comportement.

  1. (le plus probable) Vous n’exécutez pas adb.exe en tant qu’utilisateur privilégié. Même si vous êtes configuré en tant qu'administrateur local, vous n'exécutez pas cette commande avec des privilèges élevés. Puisque l'exécution par défaut -> cmd est en mode utilisateur normal, cela est prévu. L'article suivant explique comment exécuter la commande Invite en tant qu'utilisateur admin/privilégié. http://www.howtogeek.com/howto/windows-Vista/run-a-command-as-administrator-from-the-windows-Vista-run-box/

  2. (moins probable) Vous devrez peut-être ajouter adb.exe aux règles de pare-feu Windows. Allez dans le Panneau de configuration -> Pare-feu Windows, et cliquez sur "paramètres avancés". Ensuite, sous "Règles entrantes" et "règles sortantes", ajoutez une règle pour adb.exe en tant que programme.

0
John O'Connor