Je ne peux plus me connecter à mon appareil avec ADB via la ligne de commande ou dans Eclipse .
Exécuter la commande
adb devices
renvoie le nom de l'appareil, mais il dit que c'est hors ligne.
Des choses que j'ai essayées.
Je n'ai vraiment aucune idée de ce qui se passe. Tout ce que vous pensez pouvoir essayer, je suis tout ouïe.
Pour être clair, si vous rencontrez le même problème, il s’agit probablement d’un SDK obsolète. À partir de la version 4.2.2, une fonctionnalité de sécurité vous oblige à confirmer l'empreinte RSA du périphérique connecté. Ouvrez le gestionnaire de SDK et mettez à jour les outils! Puis redémarrez.
Je viens de recevoir le même problème aujourd'hui après que mes Nexus 7 et Galaxy Nexus aient été mis à jour pour Android 4.2.2.
Ce qui a été résolu pour moi, c’était de mettre à niveau la plate-forme de développement SDK vers r16.0.1. Pour moi, cette version n'était pas affichée dans le gestionnaire de SDK, je l'ai donc extraite directement de http://dl.google.com/Android/repository/platform-tools_r16.0.1-windows.Zip .
Vous devez ensuite renommer le répertoire platform-tools
et le décompresser en Android-sdk-windows/platform-tools
. En utilisant le SDK Manager, j'avais également mis à jour les derniers outils SDK-tools auparavant.
Si votre Eclipse et votre ADT sont anciens, vous devrez peut-être les mettre à jour également, mais ce n'est pas nécessaire.
Remarque: vous devrez peut-être exécuter SDK Manager deux fois (une fois pour se mettre à jour) avant de voir les derniers packages.
Essayez d’exécuter adb devices
après adb kill-server
. Une question de sécurité apparaît par la suite. Travaillé pour moi.
Cela semble également se produire fréquemment lorsque vous vous connectez au périphérique en mode Wi-Fi (dans Android Studio ou dans la console en exécutant adb tcpip 5555
par exemple).
Pour réparer:
adb kill-server
pour vous assurer que la publicité ne fonctionne pas.adb devices
. Cela devrait démarrer le démon ADB. Votre appareil devrait maintenant être à nouveau en ligne.J'ai rencontré le même problème sur un Nexus 7 exécutant la mise à jour 4.2.2 OTA. Je suis presque certain d'avoir eu une connexion ADB via USB et Wi-Fi après la mise à jour jusqu'à ce qu'elle cesse de fonctionner. Pour résoudre ce problème, j'ai mis à jour mon SDK en utilisant:
Android update sdk --no-ui
Maintenant, mes outils de développement sont:
Pour ceux qui s’interrogent sur la version 4.2.2, une question de sécurité qui s’affiche au téléphone et demande une vérification RSA avec le PC. Assurez-vous que vos outils sont mis à jour ET vous autorisez l'accès au PC en vérifiant la question de sécurité sur les périphériques en question. Cela a résolu le problème pour moi.
Et comme toujours, vérifiez que le débogage est activé dans les options du développeur;)
Je ne peux pas souligner que la commutation de ports USB est la clé. Souvent, les ports USB du panneau avant peuvent être défectueux.
Plusieurs fichiers adb.exe?
Mon problème a été résolu en supprimant une copie de OLD adb.exe de C:/Windows/. Je ne sais pas comment une copie de adb.exe est arrivée dans C:\Windows \?
Lorsque je lance adb.exe à partir de Android-sdk/platform-tools/je n’ai rencontré aucun problème de détection.
J'avais ce problème et aucune des autres réponses n'a aidé. Après la mise à jour du SDK et l’installation de l’API pour la version 4.2.2, il fallait exécuter les tâches suivantes:
Android update adb
Un autre problème que je rencontrais était que j'essayais de connecter ADB via Wi-Fi, ce qui est ma seule option car les ports USB de mon Mac sont vraiment très sophistiqués. Malheureusement, ADB sur Wi-Fi n’affiche pas la question de sécurité dans la version 4.2.2; vous devez donc trouver un câble USB qui fonctionnera et se connectera au moins une fois via USB pour accepter la question de sécurité, , vous pouvez vous connecter via Wi-Fi.
Essayez en désactivant le débogage USB une fois, puis en l'activant à nouveau, puis connectez votre appareil au système: link
Si votre appareil se connecte normalement via USB, mais cesse soudainement de fonctionner, en particulier après que le câble USB a été déconnecté et reconnecté, essayez les étapes non invasives suivantes avant de procéder aux actions les plus radicales mentionnées dans les autres réponses:
adb kill-server
adb start-server
adb devices
Si votre appareil est répertorié avec «appareil» à côté, vous êtes de retour dans les affaires.
Si votre appareil est répertorié avec la mention «hors ligne» à côté, essayez de le redémarrer. Le démon ADB sur le périphérique sera parfois bloqué. J'ai remarqué cela plus souvent lorsque j'ai débranché le câble pendant que LogCat est en cours d'exécution et après avoir rétabli la connexion via Wi-Fi ou Ethernet.
Si votre appareil ne figure pas dans la liste, vous devriez essayer les solutions présentées dans les autres réponses, en commençant par essayer un autre câble et un autre port USB. Ces câbles cheapo peuvent mal tourner.
Assurez-vous d’utiliser adb
à partir de votre dossier platform-tools
, après la mise à jour des outils du SDK.
J'ai finalement réussi à faire fonctionner cela après avoir réalisé que j'utilisais une version obsolète de ADB copiée dans /usr/bin
.
Cela peut parfois arriver à cause d'une erreur du serveur adb (je pense). Il dit toujours
"device-name is offline" from adb devices command.
Tuez simplement le serveur et recommencez. Cela a fonctionné pour moi.
"adb kill-server"
"adb start-server"
J'ai utilisé adb connect <device_ip>
et aucune des autres solutions n'a fonctionné parce que mon problème était de l'autre côté. Sur l'appareil, j'avais besoin de stop adbd
et de le redémarrer start adbd
. L'appareil est à nouveau "en ligne".
J'ai essayé dturvene et toutes les autres solutions, mais elles n'ont pas fonctionné. J'avais besoin d'un pas de plus.
Exécuter ces commandes
adb kill-server
Android update sdk --no-ui
adb start-server
Pour vérifier que cela fonctionne, lancez 'adb version' avant et après les commandes et assurez-vous qu'il s'agit de la dernière. La raison de la commande adb kill-server
est qu’elle est probablement en cours d’exécution et qu’elle ne peut pas être mise à jour en cours d’exécution, vous devez donc la supprimer au préalable.
Installé le dernier sdk Android.
Changé le port USB du périphérique.
Modifié de MTP -> Charge seulement -> MTP.
Ça a marché.
Cette approche a fonctionné pour moi:
adb kill-server
adb start-server
Gestionnaire de périphériques, menu "Affichage", "Périphériques par connexion":
Pour moi rien n'a fonctionné. J'ai passé environ 12 heures à chercher constamment sur Internet et à essayer des solutions qui fonctionnaient pour d'autres personnes ayant des problèmes similaires.
Finalement, je me suis contenté de faire le travail de la BAD sur le réseau local. Le paramètre était juste à côté du paramètre USB Debug et dans ADB, il peut être activé avec "adb connect [IPADDRESS]: [PORT]". Le port était 5555 sur mon téléphone.
J'espère que cela aidera quelqu'un à retourner au travail au lieu de devoir faire face à des inconvénients constants.
J'ai initialement rencontré le même problème (avec ADB/fastboot téléchargé depuis GitHub ), mais je l’ai finalement fait fonctionner. Ce qui a fonctionné pour moi:
Comme personne n’a répondu à ma situation: vous n’avez peut-être pas accès au fichier ~/.Android/adbkey. Si vous démarrez adb avec Sudo pour la première fois, une paire de clés publique sera générée, en écrivant ceci dans ~/.Android/adbkey.pub et ~/Android/adbkey. Bien sûr, la clé privée est chmod 600 - ne peut être lue que par un utilisateur root dans votre répertoire personnel. Par la suite, démarrer adb en tant qu'utilisateur normal ne donnera aucun accès au fichier de clé privée, ce qui échouera à son tour avec "device offline".
Si vous avez précédemment autorisé l'empreinte RSA de votre PC et essayé adb kill-server, etc. sans succès, votre problème peut être simplement que vous essayez de vous y connecter alors qu'il est verrouillé. Essayez d’appuyer sur le bouton d’écran et de saisir votre motif - c’est réglé pour moi.
La meilleure façon de procéder est de désactiver puis d'activer le périphérique à partir du Gestionnaire de périphériques et d'exécuter la commande adb devices.
L'appareil sera de nouveau en ligne. C'est plus rapide.
Une possibilité supplémentaire pour les personnes disposant de connexions ADB floconneuses, et si elles sont sur un Mac et ont Android File Transfer installé: J'ai constaté que le transfert de fichier interférait avec ma connexion ADB, la rendant inutilisable par intermittence.
Tuer le processus Android File Transfer Agent.app
qui recherche les périphériques compatibles (par exemple, le Nexus 7) en cours de connexion au Mac corrige le problème pour moi.
Ce qui a résolu pour moi sur Mac a été de mettre à jour adb
vers la dernière version (1.0.32). Maintenant, je peux à nouveau voir mon appareil en ligne
C'est simplement parce que votre ordinateur n'a pas le bon pilote. Pour résoudre ce problème:
Téléchargez et extrayez Android SDK
Allez dans le Gestionnaire de périphériques (clic droit sur Ordinateur -> Propriétés -> Gestionnaire de périphériques
Dans le volet de droite, développez les périphériques portables pour rechercher votre périphérique.
Faites un clic droit sur le nom de votre appareil et cliquez sur Mettre à jour le logiciel du pilote.
Parcourir mon ordinateur pour le logiciel pilote
Accédez au dossier de votre SDK Android à l’étape 1.
Suivant et vous avez terminé
Redémarrez l'appareil. J'ai tout essayé ici pour que mon téléphone HTC (sous Android 4.0.3) fonctionne, mais adb devices
n'arrêtait pas de dire qu'il était hors ligne. Après avoir redémarré le téléphone, il était enfin en ligne. Certaines des autres suggestions proposées ont peut-être contribué à la reconnaissance du téléphone, mais quelques redémarrages en cours de route au fur et à mesure que vous les testez ne feront certainement pas de mal.
J'ai mis à jour plusieurs fois, jusqu'à ce que je ne puisse plus en mettre à jour, mais je n'ai jamais reçu d'invite à l'écran. Je n'arrêtais pas de mettre l'appareil hors ligne.
Mon problème était que j'exécutais la commande ADB à partir d'un répertoire différent de celui en cours de mise à jour.
Le répertoire mis à jour correct pour le fichier exe ADB est:
C:\Program Files (x86)\Android\android-sdk\platform-tools\
tard, mais j’ai trouvé le moyen le plus simple Il suffit d’aller dans DDMS et de suivre comme indiqué dans l’image.
La raison pour laquelle un périphérique est signalé comme étant hors ligne est qu’Adb ne peut pas s'y connecter. Adb exécutable à partir de l'environnement de développement crée une connexion (socket) avec le périphérique sous contrôle. L'appareil dispose d'un service (démon) qui écoute cette communication. Le démon s'appelle adbd (comme dans adbdaemon) . Lorsque vous activez adb sur un périphérique, vous démarrez ce démon afin de pouvoir établir des communications avec le périphérique.
Adb a déclaré que le périphérique était hors ligne parce que le démon ne fonctionnait plus ou se trouvait dans un état qui n'accepte pas les connexions. Le plus souvent, cela se produit si le réseau tombe en panne sur une connexion active (réseau).
La seule façon de résoudre ce problème était de redémarrer le périphérique . On peut arriver à réparer le statut hors connexion par de nombreux autres moyens, mais le redémarrage du périphérique fonctionne toujours.
Cela a fonctionné pour moi: au début cela a fonctionné et après un certain temps est passé en mode hors connexion . J'ai fait le suivant: adb kill-server
adb start-server
. Rebranchez le téléphone à nouveau avec USB vers PC adb devices
, sortie de la liste vide fournie .adb tcpip 5555
, adb connect <mobile wifi ip address>
Ensuite, il est de nouveau en ligne.
Je suis surpris de trouver que ma solution ne figure pas ici.
Pour moi, j'ai un LG G3. Le téléphone doit être connecté à l'aide du pilote de LG. je suis allé à
Gestionnaire de périphériques > désinstaller le pilote MTP
et immédiatement adb a travaillé sans 1 seconde littéralement.
Essayez de redémarrer le serveur adb comme suit:
adb kill-server
adb start-server
J'ai aussi rencontré les mêmes problèmes que le vôtre. Et le redémarrage du serveur adb résoudra ce problème.
J'ai rencontré ce problème aussi. J'ai mis à jour tout ce que je pouvais dans Android SDK Manager, j'ai désinstallé mon appareil à l'aide de Device Manager et maintenant, il fonctionne correctement. J'émets quelques "kill-server" et "start-server" en cours de route ...
Après avoir tout essayé deux fois, j'ai rétabli le logiciel du téléphone pour en faire une version stable, qui a finalement fonctionné. Je courais les nightlies de Cyanogen. Quoi qu'il en soit, les éléments publiés dans ce fil de discussion devraient aider tous ceux qui rencontrent ce problème.
Sous Linux: supprimez le répertoire ~/.Android
et redémarrez ADB .
Pour moi, il est apparu que j'avais deux installations de SDK différentes. Lorsque j'ai lancé Android SDK Manager et mis à jour les outils d'Eclipse, le chemin du SDK indiquait un emplacement, mais la variable d'environnement PATH utilisée sur la ligne de commande désignait un autre emplacement, qui contenait une version plus ancienne du SDK, qui affiche toujours le fichier. 4.2.2 appareil hors ligne.
Essayer
adb usb
j'ai changé ma méthode de connexion en tcpip
et ensuite je me suis dit que si je tue le serveur et le démarre, il réinitialisera la méthode de connexion mais ne
c'est pourquoi aucune des réponses précédentes n'a fonctionné dans mon cas
Désactivez votre antivirus, reconnectez-vous usb et vérifiez si adb.exe n'a pas été déplacé en quarantaine.
Je devais tuer plusieurs processus adb (adb kill-server
& adb start-server
laissait encore un processus en cours.)
$ ps aux | grep adb
$ killall adb
Il suffit d’activer/désactiver l’intégration ADB à partir de Outils -> Android . Cela a fonctionné pour moi. J'utilise Android Studio beta.
J'ai tout essayé ci-dessus pendant plusieurs heures. La chose qui a fait le travail fonctionnait était le studio Android sans application démarrée. Vous pouvez toujours utiliser Chrome pour le débogage à distance du périphérique.
Aucune des autres réponses n'a fonctionné pour moi. Je viens de passer à CyanogenMod 10.1 (Android 4.2.2) sur mon Galaxy S III . Ce qui a fonctionné pour moi a été d'activer le débogage dans les options de développement (pour l'activer, cliquer sept fois sur le numéro de build dans «à propos du téléphone»), puis de le brancher via USB. Ensuite, j'ai accepté l'invite qui s'est présentée.
J'ai eu le même problème, en essayant d'installer CyanogenMod sur Galaxy S III de Ubuntu. En fin de compte, j'ai simplement copié le fichier Zip sur la carte externe SD Card en connectant la carte SD directement au PC. Ensuite, j'ai remis la carte sur le téléphone et, lorsque je l'ai redémarré, j'ai pu installer CyanogenMod à partir de la carte SD.
C'est un cas boiteux, mais juste au cas où ... J'ai un ordinateur portable mac avec un hub USB/alimentation mais il n'a que quelques ports USB alors j'ai accroché un autre hub USB alimenté. Semble/semble fonctionner assez bien, mais pour une raison quelconque, mon appareil Android ne conserve pas de connexion. Branchez-le, il affiche "périphérique", mais essayez de faire quoi que ce soit via adb et obtenez une erreur et le statut passe "hors ligne". M'a rendu fou. Ensuite, j'ai décidé d'essayer de brancher un appareil Android directement sur le premier hub ... fonctionnait immédiatement et solidement. J'avais utilisé la configuration à deux concentrateurs pendant un moment, mais tout d'un coup, elle a cessé de fonctionner. J'espère que ça aide quelqu'un!
J'ai couru à travers le même problème, cela corrigé pour moi. connectez votre téléphone via usb d'abord, puis assurez-vous de vérifier votre ip mobile sous Paramètres >> à propos du téléphone >> état exécuter les commandes suivantes.
adb kill-server
adb start-server
adb tcpip 5555 //it resets port so put port you want to connect
adb connect 192.168.1.30:5555 //ip:port of your mobile to connect
adb devices //you will be connected over wifi
Partagez juste ma condition:
Sur mon réseau local, toutes les cartes andorides ont la même adresse MAC par défaut . Ainsi, le même adresse IP sera obtenue via DHCP car elle possède la même adresse MAC.
En réseau local, il existe plusieurs cartes Android avec la même adresse IP . Et adb pourrait se connecter à la carte (l'une d'entre elles), et pourrait ouvrir le shell de la carte (l'un d'entre eux), mais obtenir "périphérique hors ligne" lorsque le fichier Push à bord, ou une autre opération.
Solution: Réécrire l'adresse MAC, obtenir une adresse IP différente.
Très probablement, cela est dû à un processus obsolète adb. Cela peut être dû à des développeurs de merde qui empaquetent adb, les dll et les installent dans le répertoire racine de Windows. Tels que C:\Windows\adb.exe
Ouvrez le gestionnaire de tâches kill adb.exe, situé le plus probablement dans root:\Windows et supprimez-le. Ensuite, utilisez un SDK à jour
Je viens juste de commencer à faire face au même problème après la dernière CyanogenMod mise à jour nocturne (12 août 2013) sur mon Samsung Galaxy S III .
J'ai utilisé les binaires ADB suggérés dans la réponse la plus haute (par hack_on édité par w. Allison), et j'ai reçu une invite sur mon téléphone demandant d'autoriser l'accès à mon PC (sa clé RSA) !! Cela fonctionne bien maintenant.
Lien de téléchargement (ADB, Fastboot et fichiers binaires connexes uniquement): https://dl.google.com/Android/repository/platform-tools_r16.0.1-windows.Zip
Dans mon cas, je rencontrais ce problème avec un Asus Nexus 7 de première génération ... ... J'avais augmenté la taille de la mémoire tampon de journalisation de 256K à 4M. Dès que je l'ai restaurée à sa valeur par défaut (Paramètres> Paramètres du développeur> Taille du tampon de l'enregistreur), débranchée et rebranchée, elle a parfaitement fonctionné.
Pas vraiment une réponse, mais davantage une contribution à quelque chose qui est évidemment un problème avec CM. J'ai un HTC Inspire HD sous cm-11-20140309 BR1-ace non officiel (version stable). J'étais capable d'utiliser adb avant la mise à jour, mais je n'ai jamais installé le SDK car je n'en avais pas besoin. J'ai essayé tout ce qui précède et plus encore.
Au début, je pensais que le problème était le pilote MTP, mais ce n’était pas le cas. Après l'installation et la mise à jour du SDK pour inclure la version 4.4.2, le pilote du périphérique HTC MTP installé correctement lorsqu'il est connecté via USB, mais utilisant adb à partir du nouvel emplacement d'installation de sdk, affiche toujours le périphérique en mode hors connexion sur les modes mtp et ptp sur le téléphone avec débogage à la fois. de et sur. Lorsque je désactive le débogage USB, le téléphone redémarre automatiquement et le message d'erreur suivant s'affiche:
"Malheureusement, le processus Android.process.media s'est arrêté"
Le nouveau CM dispose d'une option dans les options de développement pour permettre le débogage via WIFI. C'est pourquoi j'ai également essayé, et il est simplement indiqué qu'il est impossible de se connecter à l'adresse IP et au port. Comme l’autre affiche, je peux cingler l’adresse IP.
J'ai également coché l'option d'activation de l'accès racine pour ADB et les applications car elle était définie sur APPS et le téléphone reste déconnecté lorsque je fais des appareils adb et génère parfois la même erreur que celle présentée ci-dessus.
MODIFIER:
Maintenant, mon téléphone vient de forcer le redémarrage, j'ai réactivé le débogage, je l'ai branché et j'ai lancé des périphériques adb, et le téléphone m'a finalement demandé la clé RSA. Pour une raison quelconque, je n'ai pas été invité avant et maintenant le téléphone est en cours de connexion. Alors peut-être que le problème est de devoir basculer l'accès racine des applications uniquement vers les applications et adb après un nouveau redémarrage.
Voici pourquoi il apparaît hors ligne: http://playingwithsid.blogspot.com/2013/05/Android-device-offline-fixing-adb.html
J'ai utilisé ADB version 1.0.29, et il pourrait être connecté à mon LG-F160K (JB 4.1.2) et Nexus 7 ( Android 4.2.2 (Jelly bean) ). LG-F160K fonctionnait avec ADB 1.0.29, mais l'état du périphérique de Nexus 7 était toujours "hors ligne".
J'ai téléchargé adt-bundle-linux-x86-20130219.Zip depuis le site Web de Google Android et je peux maintenant me connecter à Nexus 7. J'utilise actuellement ADB version 1.0.31.
Il suffit de télécharger le dernier SDK ou de mettre à jour votre utilitaire ADB.
Aucune de ces réponses n'a fonctionné pour moi, a également essayé sans fil. J'ai remarqué que adb.exe fonctionnait constamment dans les processus de mon système. Faites un clic droit sur eux et trouvé adb s'exécutait automatiquement à partir d'une application installée (Droid Explorer dans mon cas). Une fois que j'ai désinstallé l'application qui démarrait automatiquement ADB, je pouvais mettre fin au processus et constater qu'Adb ne fonctionnait plus seul. Ran le adb mis à jour à partir de la plate-forme-outils et c'est bon aller! J'espère que ça aide quelqu'un.