Appareil ADB Android hors ligne, ne peut pas émettre de commandes
Je ne peux plus me connecter à mon appareil en utilisant ADB via la ligne de commande ou dans Eclipse .
exécuter la commande
adb devices
renvoie le nom de l'appareil, mais il est désactivé.
des choses que j'ai essayées.
- Basculé Android en mode débogage
- réinstallé le pilote USB de Google
- restauré L'OS à une sauvegarde précédemment en service ( CyanogenMod )
- Swaped le cordon USB
- Redémarré le téléphone ou l'ordinateur plusieurs fois
- mise à jour du SDK Android
Je n'ai vraiment aucune idée de ce qui se passe. Si vous pensez que je peux essayer autre chose, je suis tout ouïe.
pour être clair, si vous avez ce même problème le problème est probablement un SDK périmé. Depuis le 4.2.2, il y a une fonction de sécurité qui vous oblige à confirmer l'empreinte RSA de l'appareil de connexion. Ouvrez le gestionnaire SDK et mettez à jour les outils! Redémarrez.
30 réponses
je viens d'avoir le même problème aujourd'hui après mon Nexus 7 et Galaxy Nexus ont été mis à jour pour Android 4.2.2.
la chose qui l'a réparé pour moi était de mettre à niveau la plate-forme SDK-outils à r16.0.1. Pour moi, cette version n'était pas affichée dans mon gestionnaire SDK, donc je l'ai retirée de http://dl.google.com/android/repository/platform-tools_r16.0.1-windows.zip directement.
You il faut alors renommer le répertoire platform-tools
et le décompresser en android-sdk-windows/platform-tools
. En utilisant le gestionnaire SDK, j'avais également mis à jour les derniers sdk-outils avant cela.
si votre éclipse entière et ADT sont anciennes, vous pourriez avoir besoin de les mettre à jour aussi, mais je n'ai pas eu besoin.
Note: vous devrez peut-être exécuter SDK Manager deux fois (une fois pour se mettre à jour) avant de voir les derniers paquets.
essayez de lancer adb devices
après avoir lancé adb kill-server
. La question de la sécurité surgit après ça. A travaillé pour moi.
j'ai frappé le même problème sur un Nexus 7 en cours d'exécution 4.2.2 mise à jour OTA. Je suis presque certain que j'avais une connexion ADB sur USB et Wi-Fi après la mise à jour jusqu'à ce qu'il vient d'arrêter de fonctionner. Pour corriger, j'ai mis à jour mon SDK en utilisant:
android update sdk --no-ui
maintenant mes outils de développement sont:
- SDK rev 16.0.2
- SDK tools rev 21.1
- SDK API 17, rev 2
il semble également se produire fréquemment lorsque vous vous connectez à l'appareil en utilisant le mode Wi-Fi (dans Android Studio ou sur la console en exécutant adb tcpip 5555
par exemple).
pour fixer:
- déconnectez la connexion USB-ou éteignez le Wi-Fi de l'appareil si vous êtes connecté via Wi-Fi.
- Fermer Android Studio/Eclipse/autres IDE.
- Lancez
adb kill-server
pour vous assurer que adb ne tourne pas. - redémarrez votre appareil Android.
- après le redémarrage de votre appareil, connectez-le VIA USB et lancez
adb devices
. Cela devrait lancer le démon ADB. Votre appareil devrait maintenant être de nouveau en ligne.
pour ceux qui se posent des questions au sujet de 4.2.2, il y a une question de sécurité qui apparaît sur le téléphone demandant la 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 appareils en question. Ce fixe pour moi.
et comme toujours, vérifiez que le débogage est activé dans les options du développeur;)
Je ne peux pas insister sur le fait que la commutation de ports USB est la clé. Souvent, les ports USB du panneau frontal peuvent être défectueux.
ADB Multiple.les fichiers exe ?
mon problème a été résolu quand supprimé une copie de l'ancien adb.exe de C:/Windows / . Je ne sais pas comment une copie de adb.exe obtenu à la C:\Windows\ ?
quand je lance adb.exe à partir d' android-sdk/platform-tools/ je n'ai eu aucun problème avec la détection.
j'avais ce problème et aucune des autres réponses n'a aidé. Ce qui était nécessaire, après la mise à jour du SDK et l'installation de L'API pour 4.2.2, était lancé:
android update adb
un autre problème que j'avais était que j'essayais de connecter ADB sur Wi-Fi, qui est ma seule option parce que les ports USB sur mon Mac sont vraiment finnicky. Malheureusement, ADB over Wi-Fi ne montre pas la question de la sécurité en 4.2.2, donc vous devez trouver un câble USB qui va fonctionner et se connecter sur USB au moins une fois pour accepter la question de sécurité, mais après que vous le faites une fois, vous pouvez vous connecter sur Wi-Fi.
essayer en désactivant le débogage usb une fois, puis en l'activant agin et ensuite connecter votre appareil avec le système: lien
si votre appareil se connecte normalement par USB, mais cesse soudainement de fonctionner, surtout après que le câble USB a été déconnecté et reconnecté, essayez les étapes non invasives suivantes Avant de faire certaines des choses les plus drastiques mentionnées dans les autres réponses:
adb kill-server
adb start-server
adb devices
si votre appareil est listé avec "appareil" à côté, vous êtes de retour en affaires.
si votre appareil est listé avec 'offline' à côté, essayez de redémarrer l'appareil. Le Le démon ADB sur l'appareil se fait parfois pendre. J'ai remarqué cela plus lorsque j'ai déconnecté le câble alors que LogCat est en cours d'exécution et après avoir changé de connexion via Wi-Fi ou Ethernet.
si votre appareil n'est pas répertorié, vous devriez essayer les solutions dans les autres réponses, en commençant par essayer un autre câble USB et le port. Ces câbles de cheapo peuvent mal tourner.
assurez-vous d'utiliser adb
dans votre dossier platform-tools
, après avoir mis à jour les outils SDK.
j'ai finalement obtenu ce travail après que j'ai réalisé que j'étais en utilisant une version périmée de ADB copié dans /usr/bin
.
parfois cela peut arriver à cause d'une erreur de serveur adb (je pense). Il dit toujours
"device-name is offline" from adb devices command.
il suffit de tuer le serveur et recommencer. Il a travaillé pour moi.
"adb kill-server"
"adb start-server"
j'ai utilisé adb connect <device_ip>
et non des autres solutions n'a fonctionné parce que mon problème était de l'autre côté. Sur l'appareil j'ai eu besoin de stop adbd
et le redémarrer start adbd
. L'appareil est maintenant "en ligne" de nouveau.
j'ai essayé dturvene et toutes les autres solutions, mais elles n'ont pas fonctionné. J'avais besoin d'une étape de plus.
exécuter ces commandes
-
adb kill-server
-
android update sdk --no-ui
-
adb start-server
pour vérifier que cela a fonctionné, Lancez 'adb version' avant et après les commandes et assurez-vous que c'est la dernière. La raison de la commande adb kill-server
est qu'il est le plus probablement en cours d'exécution, et il ne peut pas être mis à jour pendant qu'il est en cours d'exécution, donc vous devez le tuer en premier.
j'ai d'abord rencontré le même problème (avec ADB/fastboot Téléchargé de GitHub ), mais j'ai finalement réussi à le faire fonctionner. Ce qui a fonctionné pour moi:
- Android SDK. Version de la BAsD: 1.0.31
- utilisant le port USB frontal ( MacBook Pro 15")
- redémarrer le téléphone après avoir activé les options Dev et le débogage USB (faites-le en tapant 7x sur Paramètres > À propos du téléphone > construire).
- Tuer bad serveur dans le cas où l'appareil n'est pas répertorié (adb kill-server)
- L'icône de débogage doit être visible sur le téléphone.
- assurez-vous de déverrouiller l'écran de verrouillage pour vérifier la boîte de dialogue de confirmation des empreintes RSA.
Pour moi, rien n'a fonctionné. J'ai passé environ 12 heures à chercher constamment sur Internet et à essayer les solutions qui ont fonctionné pour d'autres personnes ayant des problèmes similaires.
finalement j'ai fini par faire les trucs ADB sur le LAN. Le réglage était juste à côté du réglage de débogage USB et dans ADB il peut être activé avec " adb connect [IPADDRESS]: [PORT]". Le port était au 5555 sur mon téléphone.
j'espère que cela aidera quelqu'un à retourner au travail à la place de devoir faire face à des inconvénients constants.
Cette approche a fonctionné pour moi:
-
adb kill-server
- désactiver le périphérique hors ligne dans le Gestionnaire de périphérique (voir l'image ci-dessous)
- activer le périphérique dans le Gestionnaire de périphérique
-
adb start-server
Gestionnaire de périphériques, menu" View", "périphériques par connexion":
si vous avez déjà autorisé l'empreinte RSA de votre PC et essayé adb kill-server etc. sans chance, votre problème pourrait être que vous essayez de vous connecter pendant qu'il est verrouillé. Essayez d'appuyer sur le bouton screen-on et entrer votre modèle - cela l'a réparé pour moi.
la meilleure façon que j'ai imaginée est de désactiver puis d'activer le périphérique de Device Manager et d'exécuter la commande adb devices.
- allez à l'onglet Démarrer et cliquez à droite sur ordinateur
- dans le menu déroulant, cliquez sur Gérer
- à partir de l'écran de gestion de l'ordinateur, cliquez sur Device Manager
- sur le côté droit, agrandir les appareils portatifs pour trouver votre appareil
- cliquez avec le bouton droit de la souris sur le nom de votre appareil et cliquez désactiver dans le menu déroulant
- quand il est désactivé, répétez l'étape 5 sauf pour l'activer.
L'appareil sera de nouveau en ligne. C'est plus rapide.
une possibilité de plus pour les personnes avec des connexions ADB flaky, et si elles sont sur un Mac et ont transfert de fichier Android installé: j'ai trouvé que le transfert de fichier interférait avec ma connexion ADB, ce qui l'a fait arrêter de fonctionner de façon intermittente.
tuer le processus Android File Transfer Agent.app
qui cherche des appareils compatibles (par exemple, le Nexus 7) être connecté au Mac guérit la faiblesse pour moi.
Que personne n'a donné une réponse pour ma situation: vous ne pouvez pas avoir accès à l' ~/.fichier android / adbkey. Si vous démarrez initialement adb avec sudo, il générera une paire de clés publiques, en écrivant ceci à ~/.android / adbkey.pub et ~ / android / adbkey. Bien sûr, la clé privée est chmod 600 - seulement lisible pour root dans votre répertoire personnel. Par la suite, lancer adb comme utilisateur normal ne donnera aucun accès au fichier de clés privées, qui à son tour échouera silencieusement avec "périphérique hors ligne".
a installé le dernier sdk android.
Changé le port USB de l'appareil.
Modifié de MTP -> Charge seulement -> MTP.
Il a travaillé.
c'est juste parce que votre ordinateur n'a pas le bon pilote. Pour corriger cela:
-
télécharger et extraire Android SDK
-
allez à Gestionnaire de périphériques (clic droit sur L'ordinateur -- > propriétés -- > Gestionnaire de périphériques
-
sur le côté droit étendez les appareils portatifs pour trouver votre appareil
-
clic droit sur votre nom du périphérique et cliquez sur Mettre à jour le logiciel du pilote
-
Parcourir mon ordinateur pour le logiciel de pilote
-
accédez à votre dossier SDK Android à l'étape 1.
-
Suivant et vous êtes fait
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 les vôtres. Et redémarrer le serveur adb résoudra ce problème.
j'ai mis à jour plusieurs fois, jusqu'à ce que je ne puisse plus mettre à jour, mais je n'ai jamais eu d'invite sur mon écran; j'ai juste continué à mettre l'appareil hors ligne.
mon problème était que j'exécutais la commande ADB à partir d'un répertoire différent de ce qui était effectivement mis à jour.
le répertoire correctement mis à jour pour L'exe ADB est:
C:\Program Files (x86)\Android\android-sdk\platform-tools\
redémarrez l'appareil. J'ai tout essayé 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 déconnecté. Après j'ai redémarré le téléphone, il était enfin en ligne. Certaines des autres suggestions ici peuvent avoir contribué à ce que le téléphone soit reconnu, mais faire quelques redémarres en cours de route alors que vous les Essayez ne fera certainement pas de mal.
tard mais j'ai trouvé le moyen le plus facile il suffit d'aller au SGDDN et de suivre comme indiqué dans l'image...
ce qui a résolu pour moi sur Mac était la mise à jour adb
à la dernière version (1.0.32). Maintenant, je peux voir mon appareil à nouveau en ligne
après avoir tout essayé deux fois, j'ai ramené le logiciel du téléphone à une construction stable, et ça a finalement fonctionné. Je faisais des nightlies de cyanogène. Quoi qu'il en soit, les choses publiées dans ce fil devrait aider quiconque rencontre ce problème.
j'ai également rencontré ce problème. J'ai mis à jour tout ce que je pouvais dans le Gestionnaire de SDK Android, désinstallé mon appareil en utilisant le Gestionnaire de périphérique, et maintenant il fonctionne correctement. Je lance quelques "kill-server" et "start-server" en cours de route...