879 votes

Comment puis-je me connecter à Android avec ADB sur TCP ?

J'essaye de déboguer une application sur une Motorola Droid mais j'ai des difficultés à me connecter à l'appareil via USB. Mon serveur de développement est une machine virtuelle Windows 7 64 bits exécutée dans un système de gestion des ressources humaines. Hyper-V Je ne peux donc pas me connecter directement par USB dans l'invité ou à partir de l'hôte.

J'ai installé plusieurs solutions différentes d'USB sur TCP, mais la connexion semble avoir des problèmes depuis que l'ordinateur a été installé. ADB Le moniteur signale que "devicemonitor n'a pas réussi à démarrer la surveillance" à plusieurs reprises. Existe-t-il un moyen de se connecter directement du client sur la machine de développement au démon sur le périphérique en utilisant le réseau au lieu de la connexion USB ou éventuellement une autre option viable ?

75 votes

En cas de connexion via USB : adb tcpip 5555 . Déconnexion de l'USB, affichage de l'IP du téléphone depuis Settings > About Phone > Status . Maintenant adb connect 192.168.x.x et c'est tout. Aucun outil, aucun logiciel. Tout fonctionne.

1 votes

Comme l'a dit Andrew, ce sont les instructions officielles de Google. Site web pour les développeurs Android pas de racine nécessaire. Cela a fonctionné sur mon HTC One m8 non rooté (il faut activer les options de développement, bien sûr).

0 votes

Si le service adb fonctionne sur le port 5037, pourquoi localise-t-il les périphériques dans la plage 5555 à 5585 ?

1205voto

Brian Points 7157

Processus manuel

Depuis votre appareil, s'il est enraciné

Según un post sur xda-developers vous pouvez activer ADB sur Wi-Fi à partir de l'appareil avec les commandes :

su
setprop service.adb.tcp.port 5555
stop adbd
start adbd

Et vous pouvez le désactiver et ramener ADB à l'écoute sur USB avec

setprop service.adb.tcp.port -1
stop adbd
start adbd

Depuis un ordinateur, si vous disposez déjà d'un accès USB (pas besoin de Root)

Il est encore plus facile de passer à l'utilisation du Wi-Fi, si vous disposez déjà d'un port USB. À partir d'une ligne de commande sur l'ordinateur sur lequel le périphérique est connecté par USB, exécutez les commandes suivantes

adb tcpip 5555
adb connect 192.168.0.101:5555

Veillez à remplacer 192.168.0.101 avec l'adresse IP qui est réellement attribuée à votre appareil. Une fois que vous avez terminé, vous pouvez vous déconnecter de la session adb tcp en exécutant :

adb disconnect 192.168.0.101:5555

Vous pouvez trouver l'adresse IP d'une tablette de deux façons :

Découverte manuelle d'IP :

Allez dans les paramètres WiFi d'Android, cliquez sur le bouton de menu dans la barre d'action (le point de suspension vertical), appuyez sur Avancé et voir l'adresse IP en bas de l'écran.

Utilisez ADB pour découvrir l'IP :

Exécutez la commande suivante via adb :

adb shell ip -f inet addr show wlan0

Pour dire au démon ADB de revenir à l'écoute sur USB

adb usb

Des applications pour automatiser le processus

Il existe également plusieurs applications sur Google Play qui automatisent ce processus. Une recherche rapide suggère adbWireless , WiFi ADB et ADB WiFi . Tous ces éléments nécessitent un accès Root, mais adbWireless nécessite moins de permissions.

3 votes

Avez-vous besoin d'un accès Root pour faire cela ? Je semble pouvoir exécuter les commandes en utilisant le terminal, mais cela ne semble pas fonctionner...

6 votes

J J - Malheureusement, oui. Racine nécessaire.

1 votes

Vérifiez aussi votre pare-feu. J'ai dû reconfigurer mon pare-feu.

132voto

norman Points 651

C'est très simple si votre téléphone est enraciné.

Téléchargez un émulateur de terminal à partir de Google Play (il y en a beaucoup qui sont gratuits). Assurez-vous que votre appareil Android est connecté à votre Wi-Fi et obtenez l Wi-Fi Adresse IP. Ouvrez le programme de terminal et tapez :

su
setprop service.adb.tcp.port 5555
stop adbd
start adbd

Allez maintenant sur votre ordinateur (en supposant que vous utilisez Windows) et créez un raccourci sur le bureau pour "cmd.exe" (sans les guillemets).

Cliquez à droite sur le raccourci cmd et choisissez "Run as Administrator"

Changez pour votre android-sdk-windows\tools dossier

Type :

adb connect ***wifi.ip.address***:5555

(example: adb connect 192.168.0.105:5555)

adb devrait maintenant indiquer que vous êtes connecté.

Nota: si vous êtes trop rapide pour donner la commande de connexion, cela peut échouer. Essayez donc au moins deux fois à cinq secondes d'intervalle avant de dire que ça ne marche pas.

6 votes

Cette réponse était meilleure pour moi car elle expliquait quelle partie devait être effectuée sur le dispositif et quelle partie sur l'ordinateur.

5 votes

AVANT "adb tcpip 5555" DO "adb kill-server". APRÈS "adb connect 192.168.0.101:5555" DO "adb devices" OU "adb shell" (la connexion ne démarre pas le shell).

0 votes

J'ai essayé adb tcpip 5555 et ensuite l'autre personne a exécuté adb connect myIP:5555 sur leur PC. Il a pu installer une application sur mon téléphone mais il n'a pas pu la déboguer à distance. Est-il possible de le déboguer à distance ? Sur mon téléphone, il y avait une boîte de dialogue waiting for debugger pour toujours.

53voto

Nathan Points 2414

De adb --help :

connect <host>:<port>         - Connect to a device via TCP/IP

C'est une option de la ligne de commande, d'ailleurs.

Vous devriez essayer de connecter le téléphone à votre Wi-Fi, puis d'obtenir son adresse IP à partir de votre routeur. Ça ne marchera pas sur le réseau cellulaire.

Le port est 5554.

1 votes

J'avais essayé avec 5555-5558 et maintenant 5554 et cela ne fonctionne pas pour une raison quelconque. En gros, à partir d'une ligne de commande : adb kill-server adb connect 10.10.10.100:5554 avec le résultat suivant : * daemon not running. starting it now * * daemon started successfully * unable to connect to 10.10.10.100:5554 Je peux faire un ping de l'ip du périphérique depuis la station de travail. Lorsque la sortie indique "daemon started successfully", cela ne devrait-il pas faire référence au daemon sur le périphérique ? Est-ce qu'il tente d'utiliser l'émulateur ? Comment puis-je m'assurer/valider que le démon est bien lancé sur le périphérique ?

2 votes

Vous devez d'abord adb tcpip port car le défaut est le débogage sur usb. Après ce dernier, vous pouvez vous connecter connect host:port et cela devrait fonctionner

0 votes

"adb tcpip port" littéralement ? cela renvoie juste la chaîne "error : device not found" -- y a-t-il une faute de frappe ? Ou dois-je remplacer quelque chose ici ?

33voto

transistor1 Points 1684

J'avais besoin de les deux USB et TCPIP fonctionnent pour ADB (ne demandez pas), alors j'ai fait ce qui suit (en utilisant les instructions que d'autres ont postées depuis xda-developers)

Utilisation de adb shell :

su
#Set the port number for adbd
setprop service.adb.tcp.port 5555

#Run the adbd daemon *again* instead of doing stop/start, so there
#are two instances of adbd running.
adbd &

#Set the port back to USB, so the next time ADB is started it's
#on USB again.
setprop service.adb.tcp.port -1

exit

0 votes

Ne fonctionne pas : adbd non trouvé. adbd est normalement lancé via start adbd. Mais peut-être y a-t-il un script/exécutable dans un dossier ?

1 votes

Sur mon gnex, c'est /sbin/adbd . Cela peut varier selon le téléphone. Bien sûr, vous devez être rooté... Si vous n'êtes pas enraciné, vous ne pourrez pas accéder à /sbin.

32voto

rinkesh Points 552

Pour connecter votre tablette en utilisant le port TCP. Assurez-vous que votre système et votre appareil sont connectés au même réseau.

  1. Console ouverte cmd.exe
  2. Type adb tcpip 5555
  3. Aller à Système -> Option de développement -> Débogage USB --> Décocher la case pour la connexion TCPIP
  4. Type adb connect 192.168.1.2 c'est l'adresse IP de votre appareil
  5. Connecté à 192.168.1.2

Connecté en utilisant le transfert de port Essayez de faire une redirection de port,

adb forward tcp : <PC port> tcp : <device port>

comme :

adb forward tcp:5555 tcp:5555.

C:\Users\abc >adb forward tcp:7612 tcp:7612

C:\Users\abc >adb tcpip 7612 redémarre en mode TCP port : 7612

C:\Users\abc >adb connect 10.0.0.1:7612

connecté à 10.0.0.1:7612

Si vous obtenez le message erreur : dispositif non trouvé connectez un périphérique usb au système puis suivez la même procédure.
pour un appareil enraciné

setprop service.adb.tcp.port 5555
stop adbd
start adbd

2 votes

Dans la console, écrivez su le premier à avoir une console enracinée.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X