la version du serveur d'adb ne correspond pas à ce client
chaque fois que j'essaie d'exécuter adb devices
:
$ adb devices
* daemon not running. starting it now *
* daemon started successfully *
List of devices attached
HT0ANRV05740 device
il est dit que le démon ne court pas et redémarre le démon.
puis, si j'exécute des dispositifs adb à nouveau, il fait la même chose -
$ adb devices
adb server is out of date. killing...
* daemon started successfully *
List of devices attached
HT0ANRV05740 device
puis, si je le lance à nouveau, il fait exactement la même chose -
$ adb devices
adb server is out of date. killing...
* daemon started successfully *
List of devices attached
HT0ANRV05740 device
à l'aide!!
de plus, mon SGDD n'arrête pas de me donner le message suivant -
[2011-02-23 16:17:05 - DeviceMonitor]Adb connection Error:An existing connection was forcibly closed by the remote host
Voici les logs de juste avant le redémarrage de l'adb -
1291 locapi_rpc_glue V loc_ioctl
1291 RPC D written RPC packet size: [480]
1291 RPC D read RPC packet
1291 RPC D read RPC packet size: [28]
1291 lib_locapi V qct_loc_eng_inject_xtra_data, inject part = 100, len = 167, len = 167
1291 lib_locapi V qct_loc_eng_inject_xtra_data, total part = 100, len = 167
1291 locapi_rpc_glue V loc_ioctl
1291 RPC D written RPC packet size: [248]
1291 RPC D read RPC packet
1291 RPC D read RPC packet size: [28]
1291 lib_locapi D qct_loc_eng_inject_xtra_data: injected 39767, SUCCESS
1291 lib_locapi V inject_xtra_waiting = flase
1291 GpsLocationProvider D Releasing wakelock
1291 WifiService D releaseWifiLockLocked: WifiLock{NetworkLocationProvider type=2 binder=android.os.Binder@47aead50}
1291 WifiService D enable and start wifi due to updateWifiState
1218 rmt_storage I rmt_storage open event
1218 rmt_storage I rmt_storage client thread started
1218 rmt_storage I rmt_storage events processing done
1218 rmt_storage I rmt_storage register cb event
1218 rmt_storage I rmt_storage status id = 2
1218 rmt_storage I rmt_storage events processing done
1218 rmt_storage I rmt_storage open event
1218 rmt_storage I rmt_storage client thread started
1218 rmt_storage I rmt_storage events processing done
1218 rmt_storage I rmt_storage register cb event
1218 rmt_storage I rmt_storage status id = 2
1218 rmt_storage I rmt_storage events processing done
1218 rmt_storage I rmt_storage write event
1218 rmt_storage I unblock rmt_storage client thread
1218 rmt_storage I rmt_storage events processing done
1218 rmt_storage I rmt_storage write: bytes written = 3145216
1218 rmt_storage I rmt_storage write: bytes written = 512
1218 rmt_storage I rmt_storage status handle = 1
1291 BatteryStatsImpl I notePhoneSignalStrengthLocked: 4->3
1218 rmt_storage I rmt_storage write event
1218 rmt_storage I rmt_storage events processing done
1218 rmt_storage I unblock rmt_storage client thread
1291 PowerManagerService D New lightsensor value:40, lcdValue:143
1291 PowerManagerService D lightSensorChangedLocked, buttonValue >= 0, mPowerState = 3
1218 rmt_storage I rmt_storage write: bytes written = 3145216
1218 rmt_storage I rmt_storage write: bytes written = 512
1218 rmt_storage I rmt_storage status handle = 2
1291 RPC D read RPC packet
1291 RPC D read RPC packet size: [80]
1291 locapi_rpc_glue V Callback received: 80 (cb_id=0x50B0000 handle=1)
1291 RPC D written RPC packet size: [28]
1470 usicWidgetController D unbindMusicPlaybackService()
1707 MediaPlaybackService E BadQueue mPlayListLen : 0 mAlbumListLen : 0 mShrinkAlbumListLen : 0
1291 NotificationService V Battery Full, Charging
1291 lights E write ok string=0,len=1
1291 lights E write ok string=0,len=1
1291 lights E write ok string=0 0,len=3
1291 lights E write ok string=1,len=1
1707 MediaPlayer.java D setOnCompletionListener being cleaned to null
1291 lights E write ok string=0,len=1
1291 lights E write ok string=0 0,len=3
1291 NotificationService V Turn off Jogball/OJ LED
1291 NotificationService D cancelNotification, ACTION_NOTIFICATION_REMOVE,pkg=com.htc.music,id=1
1291 AudioService I AudioFocus abandonAudioFocus() from android.media.AudioManager@476ddee0com.htc.music.MediaPlaybackService@476dd838
30 réponses
utilisez-vous Genymotion pour un appareil virtuel?
si oui, cette erreur est probablement apparue parce que ADB from Genymotion était en conflit avec votre ADB de Android SDK( en utilisant le même numéro de port), pour corriger cette erreur, allez simplement à settings
= > choisissez ADB
onglet = > cliquez sur l'option Use custom Android SDK Tools
et paramétrez votre dossier SDK
après avoir configuré ceci, essayez de redémarrer votre adb en allant dans dossier platform-tools
qui adb
placé et faire cette commande:
-
./adb kill-server
-
./adb start-server
*conseils: Vous pouvez fermer le processus de Genymotion avant d'exécuter la commande ci-dessus
Espérons que cette aide.
j'ai désinstallé Dell PC Suite et HTC Sync de mon ordinateur et ce problème a disparu.
EDIT: Pour développer un peu sur la cause de ce problème: HTC sync est livré avec un BAD serveur de son propre. Et il met à jour votre variable D'environnement PATH pour pointer vers sa version du serveur. Éditez la variable PATH et supprimez la référence aux répertoires de synchronisation HTC. Maintenant, vous utilisez à nouveau ADB de Google.
je trouve que je dois parfois explicitement tuer et redémarrer le serveur manuellement:
adb kill-server
adb start-server
ce choc est généralement suffisant pour le remettre sur pied, et empêche les messages répétés adb server is out of date. killing...
.
dans ma machine (Ubuntu 14.04 et Genymotion 2.5.2) la source du problème était que, j'avais 2 fichiers adb de versions différentes.
(avant de préciser cette source de problème, J'avais déjà les paramètres de Genymotion > "utiliser des outils SDK Android personnalisés" en se référant au répertoire SDK Android installé sur ma machine comme conseillé par Aditya Kresna Permana. J'ai aussi essayé de tuer et de démarrer le serveur adb et quelques autres solutions sur le web).
puis vu, que l'exécution adb version
de mon répertoire D'installation SDK Android "~ / Android/Sdk / plate-forme-Outils "produit -" Android Debug Bridge version 1.0.32"
But, adb version
commande du répertoire" /usr/bin "produit -" Android Debug Bridge version 1.0.31"
donc vient de suivre - http://bernaerts.dyndns.org/linux/74-ubuntu/328-ubuntu-trusty-android-adb-fastboot-qtadb pour mettre à jour le CDA dans " / usr / bin"
# adb version
Android Debug Bridge version 1.0.31
# wget -O - https://skia.googlesource.com/skia/+archive/cd048d18e0b81338c1a04b9749a00444597df394/platform_tools/android/bin/linux.tar.gz | tar -zxvf - adb
# sudo mv adb /usr/bin/adb
# sudo chmod +x /usr/bin/adb
# adb version
Android Debug Bridge version 1.0.32
et maintenant adb devices
fonctionne parfaitement comme prévu.
et il a également résolu le problème associé que, avant mon PhoneGap (Cordova) app N'était pas d'obtenir intégré avec le dispositif virtuel de la Genymotion. Maintenant évidemment ce problème résolu aussi.
S'assurer qu'il n'y a pas d'autres processus adb en cours
il peut y avoir plus d'un processus adb en cours sur le système. Des outils tels que le Android Reverse Tether peuvent utiliser leur propre version de l'outil adb, donc la version en mémoire peut entrer en conflit avec la version exécutée à partir de la ligne de commande (via la variable path).
Windows
dans Windows, appuyez sur CTL + Shift + ESC pour accéder au Gestionnaire des tâches, triez dans la colonne nom de L'Image , puis tuez toutes les instances de adb.exe
en cliquant avec le bouton droit de la souris, et en choisissant fin du processus . Notez qu'il y a plusieurs cas de adb.exe
ci-dessous:
Linux (Android)
dans un environnement Linux, il suffit d'utiliser le "151940920 de la commande". Quelque chose comme cela a fonctionné sur un appareil Android tournant adb
(utilisez ps
sortie, la recherche à l'aide de grep
pour un processus commençant par adb
, obtenir L'ID de processus à partir du adb
processus (s), et envoyer cet ID à la kill -9
commande):
kill -9 $(ps | grep "S adb" | busybox awk '{print }')
ensuite, redémarrez adb
une fois que les processus adb
- et donc les conflits - sont résolus, puis réessayez exécuter adb
de nouveau à partir de la ligne de commande:
adb start-server
je viens de quitter HTC Sync, j'ai essayé à nouveau, et ça a marché. Remarque: le téléphone est devenu noir (verrouillé), je l'ai juste allumé, et il y avait mon application en cours d'exécution. :)
il semblerait que le démon ADB sur le périphérique (adbd) soit en désaccord avec le processus serveur ADB sur votre ordinateur hôte quant à la version du protocole qu'ils parlent. Quelle version du SDK utilisez-vous et quelle est la version OS sur le périphérique que vous déboguez?
ce que vous pourriez avoir à faire est en fait de dégrader votre version des outils SDK afin que le démon et le processus ADB soient en accord. Je pensais que le processus du serveur était complètement rétrograde compatible, mais ça pourrait être un de ces cas de coin où il ne le fait pas. Google ne fait pas la publicité du fait que vous pouvez obtenir leurs anciens paquets D'outils SDK, mais ils peuvent être trouvés en regardant dans la zone archives à http://developer.android.com .
cela est causé parce que vous exécutez un adb autre que celui inclus dans le SDK. Si sous linux, vérifiez où se trouve le binaire adb
which adb
Expected Output : ANDROID_SDK/platform-tools/adb
si vous ne pointez pas vers ANDROID_SDK/platform-tools/adb, alors vous utilisez une ancienne version de adb installée à un autre endroit sur la machine.
rien de mal à lancer adb autre que celui fourni avec SDK, mais l'inconvénient est qu'il n'est pas mis à jour automatiquement lorsque l'android SDK est mis à jour et c'est pourquoi vous rencontrez ce problème de version obsolète.
la solution la plus facile et pour éviter ce problème à l'avenir renommer l'ancien fichier binaire (trompeur) adb à quelque chose d'autre.
, Suivez les étapes pour résoudre ce problème.
$ which adb
*o/p /usr/bin/adb - (output will depend on your machine)*
$ cd /usr/bin/
$ ls -lt | grep adb
*o/p -rwxr-xr-x 1 root root 160912 Mar 31 2016 adb*
$ sudo mv adb adb_bakup
$ ls -lt | grep adb
o/p -rwxr-xr-x 1 root root 160912 Mar 31 2016 adb_bakup
$ export PATH="/path/to/android_sdk/platform-tools:$PATH"
$ which adb
*o/p <your android sdk dir>/platform-tools/adb* ---> You are all good now
Système: Windows 10
Mon problème : Le réglage de Genymotion pour pointer vers le SDK personnalisé n'a eu aucun effet. J'ai toujours reçu le:
ne pouvait pas démarrer le projet sur Android: ne pouvait pas installer smartsocket listener: ne peut pas se lier à 127.0.0.1: 5037: une seule utilisation de chaque socket l'adresse (protocole / adresse du réseau / port) est normalement autorisée. (10048) ne pouvait pas lire, ok à partir du serveur de la BAD * échec de démarrer daemon * erreur: Impossible de se connecter à daemon
ce que j'ai découvert, c'est qu'il y avait une différence dans les versions ADB utilisées dans le système. Voici la commande que j'ai utilisée pour les trouver:
where /r C:\ adb.exe
cela a produit les résultats:
C:\Program Files\Expo XDE\resources\app\node_modules\xdl\binaries\windows\adb\adb.exe
C:\Program Files\Genymobile\Genymotion\tools\adb.exe
C:\Users\kyle\AppData\Local\Android\Sdk\platform-tools\adb.exe
C:\Users\kyle\AppData\Local\Android\Sdk\platform-tools\adb backup\adb.exe
la Navigation de chaque répertoire et en cours d'exécution:
adb.exe version
m'a permis de voir Qu'Expo dirigeait ADB version:
Android Debug Bridge version 1.0.36
Revision fd9e4d07b0f5-android
alors que Genymotion utilisant le SDK personnalisé avait la version (c:\Users\kyle\AppData\Local\Android\Sdk\platform-tools\adb.exe):
Android Debug Bridge version 1.0.39
Revision 3db08f2c6889-android
comme test j'ai pris les fichiers adb (adb.exe, AdbWinApi.dll, AdbWinUsbApi.dll) de
c:\Users\kyle\AppData\Local\Android\Sdk\platform-tools\adb.exe
et les a placés dans un dossier de sauvegarde. J'ai ensuite déplacé les fichiers adb localisés à
c:\Program Files\Expo XDE\resources\app\node_modules\xdl\binaries\windows\adb\adb.exe
au même endroit. J'ai tué la bad avec:
adb kill-server
qui a provoqué un redémarrage automatique du serveur adb en raison du fait que mon dispositif Genymotion était déjà en marche. J'ai appuyé sur le bouton" Redémarrer " à l'intérieur de L'Expo XDE et il a immédiatement commencé à fonctionner. Voici le journal où j'ai appuyé sur le bouton Redémarrer à 1:13: 04 AM:
12:45:53 AM
could not install *smartsocket* listener: cannot bind to 127.0.0.1:5037: Only one usage of each socket address (protocol/network address/port) is normally permitted. (10048)
could not read ok from ADB Server
* failed to start daemon *
error: cannot connect to daemon
1:13:04 AM
Restarting project and clearing packager cache (Hold shift while clicking restart to avoid clearing cache).
1:13:11 AM
Starting React Native packager...
1:13:17 AM
Scanning 543 folders for symlinks in C:\Users\kyle\git\betalog\node_modules (49ms)
1:13:17 AM
1:13:19 AM
Couldn't adb reverse: closed
1:13:20 AM
Project opened! You can now use the "Share" or "Device" buttons to view your project.
1:13:26 AM
Couldn't adb reverse: closed
1:13:26 AM
Downloading latest version of Expo
1:13:28 AM
Installing Expo on device
1:13:33 AM
Opening on Android device
1:13:56 AM
Building JavaScript bundle: finished in 59643ms.
1:14:01 AM
Dependency graph loaded.
1:14:03 AM
Your JavaScript transform cache is empty, rebuilding (this may take a minute).
Conclusion : Genymotion et Expo devront peut-être utiliser la même version de l'adb pour que L'Expo puisse communiquer correctement avec la simulation appareil. Pointer Genymotion sur votre emplacement SDK android ainsi que s'assurer que L'Expo XDE a cette même version permettra une communication correcte entre les appareils. J'ai déplacé la version D'Expo XDE à L'emplacement du SDK, mais vous pourriez être en mesure d'aller dans l'autre sens (prenez les fichiers sdk ADB et placez-les dans L'emplacement de la ressource D'Expo XDE).
P. S. J'ai parcouru tous les articles de stackoverflow liés à cette question. Juste pour que vous connaissiez mon gestionnaire des tâches. montre les trois instances de la bad.exe en cours d'exécution. Si vous tuez l'un d'eux ils ont juste de revenir.
Espérons que cette aide /cheers
j'ai simplement fermé les htc sync application et essayé de nouveau. Il a travaillé comme il le fallait.
je me suis cogné la tête contre le mur. Cela a commencé quand j'ai installé la dernière version de HTC sync (3.0.5579). Pour une raison quelconque la bad.exe est apparu plusieurs fois dans le Gestionnaire des tâches et j'ai obtenu le serveur adb est dépassé tuer des erreurs à plusieurs reprises. J'ai trouvé la bad.version exe dans le répertoire HTC sync et dans le répertoire Android SDK platform-tools. J'avais la configuration du chemin pointant correctement sur le répertoire sdk android et je n'ai pas vu la synchronisation HTC chemin (peut-être me manquait quelque chose, mais je ne le pense pas). Quoi qu'il en soit, pour régler le problème, j'ai simplement renommé la BAD.fichier exe dans le répertoire de synchronisation HTC et tout a fonctionné à nouveau. Cela peut ne pas être la bonne façon de faire cette correction, mais il a travaillé pour moi.
a aidé pour moi: arrêter la synchronisation HTC (dans le plateau de système) et renommer htc's adb.exe (C:\Program fichiers (x86)\HTC\HTC Sync 3.0\adb.EXE.)
d'abord fermer toutes les choses qui utilisent ADB. (Studio Android, Eclipse, émulateur (Bluestack aussi))) et puis faire
adb kill-server
adb start-server
dans mon cas, je viens de recevoir la mise à jour de Studio.
Système: Windows 7, Android Studio.
cette erreur s'est produite lorsque J'ai lancé adb devices
à partir de Windows Commandline.
la cause principale était que le adb que j'exécutais depuis la ligne de commande n'était pas le même adb que celui qui exécutait depuis Android Studio.
Solution:
-
d'abord tuer tous les processus adb en cours sur la machine.
taskkill /F /IM adb.exe
-
lancez votre application depuis Android Studio.
-
de Localiser précisément l'Emplacement du Fichier de la bad.exe soit à partir de Windows Task Manager, soit par exécutant la commande en dessous de
wmic process where "name='adb.exe'" get ProcessID, ExecutablePath
-
sur l'invite de commande Windows, lancez
where adb
pour localiser le CDA qui s'exécute à partir de l'invite de commande. Cette voie serait différent de celui de L'Étape 3 ci-dessus. -
Modifier Windows variable système PATH. Supprimez le chemin de base trouvé à L'Étape 4.
-
après avoir édité PATH, vous pouvez voir le contenu actuel de cette variable en tapant ci-dessous la commande dans une nouvelle invite de commande (n'utilisez pas l'ancienne invite.)
echo %PATH%
maintenant, exécutez adb de l'invite de commande. Il ne doit pas afficher d'erreur "serveur hors date"!
essayez ceci:
-
fermez L'application Eclipse.
-
adb kill-server
-
Redémarrer Eclipse.
OK, il y a une autre instance de l'adb.exe distribué avec "Lenovo Photo Companion". Un de mes amis a un carnet de Yoga de Lenovo et a fait installer ce logiciel qui includeded un autre adb.exe
le démontage a résolu le problème.
OS: Ubuntu
il y a plus d'un adb en cours d'exécution. Vérifier la BAD actuelle:
which adb
Expected Output : ANDROID_SDK/platform-tools/adb
Normalement le résultat sera:
/usr/bin/adb
supprimer cette ancienne version par:
cd /urs/bin
sudo rm adb
avez-vous essayé D'utiliser le SDK version 8. Puisque le périphérique est en 2.2, et que votre SDK est à 10, il pourrait y avoir un conflit.
bonne chance avec vos efforts de déclassement!! Espérons que cela résout.
si l'appareil avec lequel vous essayez d'interagir est un téléphone physique connecté via USB, vous pouvez le débrancher et le brancher en arrière et il devrait fonctionner. Parfois, il est juste hors de la synchronisation, je pense.
j'ai eu ce problème sur une de mes machines de développement (toutes fonctionnent sous windows 7 x64) alors que toutes les autres Machines adb fonctionnent normalement. La raison pour laquelle je suis tombé dans ce numéro est que j'ai une ancienne version de adb.exe résident dans %android-sdk%\tools tandis que les SDK Android plus récents ont adb.exe sous % android-sdk% \ platform-tools
supprimer l'ancien CDA.exe à partir d' %android-sdk%\outils et ajouter %android-sdk%\platform-tools d' %PATH% résout ce problème
ou plus généralement, traquer tout exécutable adb dans votre chemin qui sont périmés, il suffit d'utiliser le dernier fourni avec Android SDK
j'ai parcouru toutes les réponses sur SO et ça n'a pas fonctionné pour moi. Quand j'ai tué la bad.processus exe du Gestionnaire des tâches, il a continué à le rouvrir et la raison était que Droid Explorer travaillait dans l'arrière-plan .
Tuer le DE processus via le Gestionnaire des Tâches et ensuite tuer la bad.exe (et l'exécuter à nouveau à partir de la console via le serveur de démarrage adb) a fonctionné pour moi.
Cela peut être utile pour beaucoup de les gens qui ont enraciné leurs dispositifs .
malheureusement je n'ai pas encore assez de réputation pour commenter. Mais la réponse a marqué comme réponse m'a envoyé dans la bonne direction.
Je n'ai rien vu dans mon chemin concernant HTC Sync Manager, bien que je l'ai fait installer. Je ne travaille pas avec mon appareil HTC pour le moment, et seulement le gestionnaire de synchronisation a été installé pour aider avec les problèmes de pilotes. Une fois que j'ai désinstallé le gestionnaire de synchronisation HTC, ce problème a disparu pour moi.
Espérons que cette aide quelqu'un d'autre.
dans mon cas, le problème a été causé par Virtuous Ten Studio, qui a l'ADSL.exe dans External/ADB
répertoire.
allez là-bas et courez .\adb.exe kill-server
et vous serez bon.
comme mentionné ci-dessus, le problème vient d'une version contradictoire de adb.exe expédié avec synchronisation HTC. L'enlever du chemin n'aidera pas, comme htcUPCTLoader.exe qui tourne constamment en arrière-plan lancera toujours la mauvaise version ADB.
une solution consisterait à supprimer complètement adb.exe du dossier de synchronisation HTC, cependant cela briserait la synchronisation HTC.
Je viens de coder un outil simple qui remplace l'ancien adb.exe avec un talon qui invoque le dernier adb.exe du répertoire SDK éliminant les conflits (par exemple la version 1.0.25 venant avec HTC Sync et 1.0.29 avec Android SDK).
l'outil peut être téléchargé à partir de http://visualgdb.com/adbfix
j'ai aussi eu ce problème aujourd'hui, il s'avère que j'ai désactivé mes pilotes réseau parce que j'avais des problèmes WIFI/LAN. re-enabling fixe l'émission
installation de mises à jour sdk (y compris les outils de plate-forme) fixé pour moi!
depuis serveur adb est périmé. tuer est maintenant un dupe de ceci, copier-coller de une solution pour les systèmes basés sur Debian :
il se peut que vous ayez installé le paquet
adb
en plus du SDK. Dans ce cas, unsudo apt purge adb
pourrait résoudre le problème.
pour expliquer réellement ce qui se passe:
l'exécutable ADB a deux composants
- le serveur, qui communique avec le périphérique
- et le client, la ligne de commande, qui communique avec le serveur.
lorsque vous démarrez ADB pour la première fois, vous pouvez remarquer un message comme "démarrage du serveur ADB". Si vous avez mis à jour ADB après cela, l'exécutable plus récent doit tuer le serveur obsolète et commencer un nouveau avec la version correspondante.
cela peut également se produire lorsque vous avez plusieurs versions de ADB présentes sur votre machine de développement (Genymotion, SDK Android, Applications de compagnon de téléphone OEM, divers scripts standalone).
cela ne concerne pas L'ADB installé sur votre téléphone/émulateur.
la solution évidente (pas nécessairement facile) est de s'assurer que vous utilisez la même version de ADB partout.
vous devez vous assurer que votre projet est réglé pour cibler L'AVD que vous voulez lancer.
clic droit (Ctrl-click MAC) sur le dossier du projet dans Eclipse. Puis cliquez sur Propriétés. Dans la fenêtre qui s'affiche, cliquez sur "Android" puis cliquez sur la cible de construction que vous souhaitez lancer. Espérons que cela aide.
j'ai eu la même erreur quand J'ai commencé Android Studio. Désinstallez le logiciel mobogenie. Il a travaillé. ESSAYEZ CETTE SOLUTION, ELLE M'A AIDÉ. ERREUR ADB