la version du serveur adb ne correspond pas à ce client

151

Chaque fois que j'essaye de courir adb devices:

            $ adb devices
            * daemon not running. starting it now *
            * daemon started successfully *
            List of devices attached
            HT0ANRV05740    device

Il indique que le démon n'est pas en cours d'exécution et redémarre le démon.

Ensuite, si je lance à nouveau des appareils adb, cela fait la même chose -

            $ adb devices
            adb server is out of date.  killing...
            * daemon started successfully *
            List of devices attached
            HT0ANRV05740    device

Ensuite, si je l'exécute à nouveau, il fait à nouveau exactement la même chose -

            $ adb devices
            adb server is out of date.  killing...
            * daemon started successfully *
            List of devices attached
            HT0ANRV05740    device

Veuillez aider !!

De plus, mon DDMS continue 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 journaux juste avant le redémarrage d'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$5@476dd838
Arunabh Das
la source
Pour moi, j'ai aidé à quitter l'application de bureau Helium, qui a sa propre version adb. :)
Velda
Dans mon cas, c'était Genymotion, il y a une configuration pour utiliser leur propre version ou vous pouvez définir la vôtre.
Crysfel
En PSBA je retitré aosp/out/host/darwin-x86/bin/adbà adb-aospcause aliasingen plus de cela à ma version locale (sur PSBA) ne fonctionnait pas.
Paschalis

Réponses:

299

Utilisez-vous Genymotion pour un appareil virtuel?

si oui, cette erreur est probablement survenue car ADB de Genymotion est en conflit avec votre ADB à partir du SDK Android (en utilisant le même numéro de port), pour résoudre ce problème, rendez-vous simplement sur settings=> choisissez l' ADBonglet => cliquez sur l'option Use custom Android SDK Toolset définissez votre dossier SDK

entrez la description de l'image ici

après avoir configuré cela, essayez de redémarrer votre adb en allant dans le dossier platform-toolsqui l'a adbplacé et exécutez cette commande:

  • ./adb kill-server
  • ./adb start-server

* conseils: vous pouvez fermer le processus de Genymotion avant d'exécuter la commande ci-dessus

J'espère que cette aide.

Aditya Kresna Permana
la source
Merci Aditya !!! enfin une réponse décente. Cela a commencé après la mise à jour du studio Android. Je devenais fou avec celui-ci, réinstallé le sdk et tout. Je pensais que c'était un bug dans la nouvelle version.
TacoEater
1
Seulement cela a aidé! Il y a un petit outil appelé 'adbfix', qui m'a donné l'indication que cela pourrait être un problème lié au chemin, mais n'a en fait rien fait pour résoudre le problème.
icarus74
Je dois adorer Genymotion car les émulateurs de stock consomment trop de ressources car ils chauffent constamment mon ordinateur portable battant fonctionnant sous Ubuntu.
thethakuri
1
Je n'ai pas installé genymotion dans mon système. Comment puis-je réparer ça?
arka.b
7
Tout émulateur genymotion doit être fermé avant d'exécuter les commandes ci-dessus.
Robert
63

J'ai désinstallé Dell PC Suite et HTC Sync de mon ordinateur et ce problème a disparu.

EDIT: Pour élaborer un peu sur la cause de ce problème: HTC Sync est livré avec un serveur ADB qui lui est propre. Et il met à jour votre variable d'environnement PATH pour pointer vers sa version du serveur. Modifiez la variable PATH et supprimez la référence aux répertoires HTC Sync. Vous utilisez à nouveau la BAD de Google.

Arunabh Das
la source
1
Ce problème est dans mon appareil Apple Mac OS-X.
Ritesh Kumar Singh
4
HTC Sync était le problème. Il fonctionne en continu en arrière-plan, provoquant des conflits avec adb.exe
rharvey
LG AirBridge a causé le problème pour moi - la désinstallation, puis l'exécution a adb start-serverfonctionné.
jamsandwich
1
En tant que développeur, j'ai besoin des pilotes USB HTC qui sont fournis avec HTC Sync Manager. C'est le seul cas pour Windows 10, qui est le système d'exploitation que j'utilise. Après l'installation, HTC Sync fonctionnera et fonctionnera en continu en arrière-plan. Vous souhaitez ouvrir le Gestionnaire des tâches> onglet Services, puis désactiver la tâche d'arrière-plan HTCMonitorService. Cela empêchera HTC Sync d'entrer en conflit avec Google ADB, et empêchera également Google ADB de se verrouiller lorsque les appareils HTC sont connectés au PC.
tom_mai78101
28

Je trouve que j'ai parfois besoin de tuer et de redémarrer explicitement le serveur manuellement:

adb kill-server
adb start-server

Ce choc suffit généralement à le remettre sur pied, et évite la répétition des adb server is out of date. killing...messages.

Andy
la source
Tuer et redémarrer semble avoir fonctionné pour moi; cependant j'obtiens maintenant le message d'erreur "erreur: plus d'un périphérique et émulateur" quand je fais: "adb tcpip 5555" selon les instructions de réponse acceptées.
jay_t55
Dans mon cas, il y a plusieurs processus d'adb en cours d'exécution, donc je fais plusieurs appels jusqu'à adb kill-serverce qu'il dise "le démon ne fonctionne pas ..."
mr5
22

Assurez-vous qu'aucun autre processus adb n'est en cours d'exécution

Il peut y avoir plus d'un processus adb en cours d'exécution sur le système. Des outils tels que Android Reverse Tether peuvent utiliser leur propre version de l'outil adb, par conséquent la version en mémoire peut entrer en conflit avec la version exécutée à partir de la ligne de commande (via la variable de chemin).

les fenêtres

Sous Windows, appuyez sur CTL+ Shift+ ESCpour accéder au Gestionnaire des tâches, triez dans la colonne Nom de l' image , puis supprimez toutes les instances de adb.exeen cliquant avec le bouton droit de la souris et en choisissant Terminer le processus . Notez qu'il existe plusieurs instances de adb.execi-dessous:

Plusieurs instances adb.exe - comment tuer

Linux (Android)

Dans un environnement Linux, utilisez simplement la kill -9commande. Quelque chose comme ça a fonctionné sur un appareil Android en cours d'exécution adb(utilisez la pssortie, recherchez grepun processus commençant par adb, obtenez l'ID de adbprocessus du ou des processus et envoyez cet ID à la kill -9commande):

kill -9  $(ps  | grep "S adb" | busybox awk '{print $2}')

Ensuite, redémarrez adb

Une fois les adbprocessus - et donc les conflits - résolus, réessayez d'exécuter à adbpartir de la ligne de commande:

adb start-server
CJBS
la source
Dans mon cas, j'ai découvert qu'une autre instance d'adb était en cours d'exécution dans le cadre de GapDebug. Arrêter GapDebug, tuer le processus adb en cours d'exécution et appeler ./adb start-server dans ~ / Library / Android / sdk // platform-tools a résolu le problème.
Gwened le
20

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, en précisant cette source de problème, j'avais déjà Paramètres de Genymotion> "Utiliser les outils SDK Android personnalisés" faisant référence au répertoire SDK Android installé sur ma machine, comme conseillé par Aditya Kresna Permana. J'ai également essayé de tuer et de démarrer le serveur adb et quelques autres solutions de partout sur le Web).

Puis vu, cela fonctionnant à adb versionpartir de mon répertoire d'installation Android SDK "~ / Android / Sdk / platform-tools" produit - "Android Debug Bridge version 1.0.32"

Mais, adb versioncommande du répertoire "/ usr / bin" produite - "Android Debug Bridge version 1.0.31"

Alors juste suivi - http://bernaerts.dyndns.org/linux/74-ubuntu/328-ubuntu-trusty-android-adb-fastboot-qtadb pour mettre à jour l'adb 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, le fonctionnement adb devicesfonctionne parfaitement comme prévu.

Et cela a également résolu le problème associé qui, avant que mon application PhoneGap (Cordova) ne soit intégrée à l'appareil virtuel de Genymotion. Maintenant, évidemment, ce problème a également été résolu.

Rohan_Paul
la source
Merci beaucoup. J'ai sauvé mon temps. Celui-ci fonctionne parfaitement bien sur ubuntu 14.04. Aimeriez-vous savoir comment avez-vous obtenu l'url wget d'adb? @Rohan_Paul
Akbar Sha Ebrahim
je reçois ceci maintenant: bash: / usr / bin / adb: aucun fichier ou répertoire de ce type
Tushar Saha
17

Cela est dû au fait 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, vous exécutez une ancienne version d'adb installée à un emplacement différent sur la machine.

Rien de mal à exécuter adb autre que celui fourni avec le SDK, mais l'inconvénient est qu'il n'est pas mis à jour automatiquement lorsque le SDK Android est mis à jour et c'est pourquoi vous rencontrez ce problème de version obsolète.

La solution la plus simple et pour éviter ce problème à l'avenir, renommez l'ancien fichier binaire adb (trompeur) en autre chose.

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
Akh
la source
J'ai essayé cela depuis mon Mac, cela me dit simplement que je n'ai pas la permission de changer le nom?
Jay Smoke
Vous avez besoin du privilège d'administrateur pour modifier tout nom de répertoire sous / usr.
Akh
Je me suis connecté en tant que root et je ne pouvais toujours pas le changer.
Jay Smoke
excellente solution, j'avais un lien symbolique adb vers ../ Cellar / ..., donc même si la dernière version adb a été téléchargée avec le gestionnaire sdk, un bon chemin
corrige le
15

Je viens de quitter HTC Sync, j'ai réessayé et cela a fonctionné. Remarque: le téléphone est devenu noir (verrouillé), je l'ai juste allumé et mon application était en cours d'exécution. :)

Nemi
la source
J'ai eu le même problème avec ZTE Sync, je l'ai supprimé et mes appareils ont été affichés.
ovejaexiste
11

Système: Windows 10

Mon problème : configurer Genymotion pour qu'il pointe vers le SDK personnalisé n'a eu aucun effet. J'ai toujours reçu le:

Impossible de démarrer le projet sur Android: impossible d'installer l' écouteur smartsocket : impossible de se lier à 127.0.0.1:5037: Une seule utilisation de chaque adresse de socket (protocole / adresse réseau / port) est normalement autorisée. (10048) n'a pas pu lire ok à partir du serveur ADB * n'a pas réussi à démarrer le démon * erreur: impossible de se connecter au démon

Ce que j'ai découvert, c'est qu'il y avait une différence dans les versions ADB utilisées dans tout 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

Navigation vers chaque répertoire et exécution:

adb.exe version

M'a permis de voir que Expo exécutait la version ADB:

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 situés à

c:\Program Files\Expo XDE\resources\app\node_modules\xdl\binaries\windows\adb\adb.exe

dans ce même endroit. J'ai tué adb avec:

adb kill-server

ce qui a provoqué un redémarrage automatique du serveur adb en raison du fait que mon appareil Genymotion était déjà en cours d'exécution. 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 de redémarrage à 1:13:04 du matin:

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 d'adb afin que l'Expo puisse communiquer correctement avec l'appareil simulé. Le fait de pointer Genymotion vers l'emplacement de votre SDK Android et de vous assurer qu'Expo XDE a cette même version permettra une communication correcte entre les appareils. J'ai déplacé la version d'Expo XDE vers l'emplacement du SDK, mais vous pourrez peut-être aller dans l'autre sens (prenez les fichiers ADB sdk et placez-les dans l'emplacement des ressources d'Expo XDE).

PS J'ai parcouru tous les articles de stackoverflow liés à ce problème. Juste pour que vous sachiez que mon gestionnaire de tâches montre trois instances d'adb.exe en cours d'exécution. Si vous tuez l'un d'entre eux, ils reviennent.

J'espère que cela aide / applaudit

Kyle s
la source
1
Cela a résolu mon premier problème après un certain nombre d'heures (merci mon pote). Le problème suivant était que le périphérique émulé n'était pas autorisé (périphériques adb), ce qui m'a pris moins de temps à résoudre.
Jonathan
8

Il semblerait que le démon ADB sur le périphérique (adbd) soit en désaccord avec le processus du serveur ADB sur votre ordinateur hôte quant à la version du protocole dont il parle. Quelle version du SDK utilisez-vous et quelle est la version du système d'exploitation sur l'appareil que vous déboguez?

Ce que vous devrez peut-être faire est de rétrograder votre version des outils SDK afin que le démon et le processus ADB soient en accord. Je pensais que le processus serveur était complètement rétrocompatible, mais cela pourrait être l'un de ces cas secondaires où ce n'est pas le cas. Google n'annonce pas le fait que vous pouvez obtenir leurs anciens packages d'outils SDK, mais ils peuvent être trouvés en regardant dans la zone des archives à http://developer.android.com .

Eric Cloninger
la source
1
Vers quelle version recommanderiez-vous que je rétrograde?
Arunabh Das
Quel appareil utilisez-vous et quelle version du système d'exploitation y est-il exécuté? Je ne pense pas vraiment qu'il soit nécessaire de rétrograder parce que ce n'est généralement pas nécessaire, mais comme je le disais, cela pourrait être un cas secondaire. Le SDK r10 vient de sortir cette semaine et r9 il y a environ un mois. Si le problème a été introduit récemment, r7 devrait fournir une base stable remontant à l'été dernier. Vous pouvez trouver ces versions antérieures sur developer.android.com/sdk/tools-notes.html . Bonne chance
Eric Cloninger
Version du système d'exploitation sur l'appareil = 2.2 et SDK = 10
Arunabh Das
Ce n'est pas une incompatibilité de version entre adbdet adb servermais plutôt entre adb serveret adb client(tous deux fonctionnant sur le PC)
Alex P.
7

J'ai un moyen rapide de le faire d'abord

sudo rm /usr/bin/adb

ensuite

sudo ln -s /home/{{username}}/Android/Sdk/platform-tools/adb  /usr/bin/adb

Le moyen le plus rapide de résoudre le problème

Ian Samz
la source
7
Je ne peux pas croire que j'ai eu le même problème et je suis venu à nouveau chercher la réponse de moi-même
Ian Samz
C'est vraiment le moyen le plus rapide !! Merci!
Abbas le
5

J'ai simplement fermé complètement l'application de synchronisation htc et essayé à nouveau. Cela a fonctionné comme prévu.

Harsha Kanth
la source
5

Je me suis cogné la tête contre le mur sur celui-ci. Cela a commencé à se produire lorsque j'ai installé la dernière version de HTC Sync (3.0.5579). Pour une raison quelconque, adb.exe apparaissait plusieurs fois dans le gestionnaire de tâches et j'obtenais que le serveur adb soit obsolète, tuant des erreurs plusieurs fois. J'ai trouvé la version adb.exe dans le répertoire de synchronisation HTC et dans le répertoire des outils de la plate-forme Android SDK. J'avais le chemin configuré correctement vers le répertoire Android SDK et je n'ai pas vu le chemin HTC Sync (peut-être que je manquais quelque chose, mais je ne pense pas). Quoi qu'il en soit, pour résoudre le problème, j'ai simplement renommé le fichier adb.exe dans le répertoire HTC Sync et tout a fonctionné à nouveau. Ce n'est peut-être pas la bonne façon de résoudre ce problème, mais cela a fonctionné pour moi.

Skylert
la source
5

Aide pour moi: arrêtez HTC Sync (dans la barre d'état système) et renommez adb.exe de HTC (C: \ Program Files (x86) \ HTC \ HTC Sync 3.0 \ adb.exe).

Maxime
la source
5

Système: Windows 7, Android Studio.

Cette erreur s'est produite lorsque j'ai exécuté à adb devicespartir de la ligne de commande Windows.

La cause première était que l' adb que j'exécutais à partir de la ligne de commande n'était pas le même adb exécuté à partir d'Android Studio.

Solution:

  1. Tuez d'abord tous les processus adb en cours d'exécution sur la machine.

    taskkill /F /IM adb.exe

  2. Exécutez votre application depuis Android Studio.

  3. Recherchez l'emplacement exact du fichier de adb.exe à partir du Gestionnaire des tâches de Windows, OU en exécutant la commande ci-dessous

    wmic process where "name='adb.exe'" get ProcessID, ExecutablePath

  4. Sur l'invite de commande Windows, exécutez where adbpour localiser l'adb qui s'exécute à partir de l'invite de commande. Ce chemin serait différent de celui de l'étape 3 ci-dessus.

  5. Modifiez la variable système Windows PATH. Supprimez-en le chemin de base trouvé à l'étape 4.

  6. Après avoir modifié PATH, vous pouvez voir le contenu actuel de cette variable en tapant la commande ci-dessous dans une nouvelle invite de commande (n'utilisez pas l'ancienne invite.)

    echo %PATH%

Maintenant, exécutez adb à partir de l'invite de commande. Il ne devrait PAS afficher une "erreur de serveur obsolète"!

user13107
la source
5

J'ai connu un problème similaire où mes tentatives d'utiliser adb, comme adb logcatprévu cette sortie d'erreur:

adb server version (40) doesn't match this client (36); killing...

Cette solution a fonctionné pour moi en 2018 sur Ubuntu 18.04 à partir d'Android Studio 3.2.1 en utilisant un terminal.

Les commandes sont les suivantes:

adb kill-server sudo cp ~/Android/Sdk/platform-tools/adb /usr/bin/adb sudo chmod +x /usr/bin/adb adb start-server

Vous devrez peut-être ajuster les cparguments de commande en fonction du chemin vers Android/sur votre système.

Félicitations de 2e génération à ma source: https://stackoverflow.com/a/40991118/7015599

Sarkis
la source
1
J'ai pu faire quelque chose de similaire sans remplacer / usr / bin / adb. J'ai défini un alias dans bash_aliases -> alias adb = '~ / Android / Sdk / platform-tools / adb'. Source .bashrc et bon à faire.
James
4

Essaye ça:

  1. Fermez l'application Eclipse.

  2. adb kill-server

  3. Redémarrez Eclipse.

dcanh121
la source
4

Fermez d'abord Toutes les choses qui utilisent ADB. (Android Studio, Eclipse, Emulator (Bluestack également)) puis faites

adb kill-server
adb start-server

Dans mon cas, je viens de recevoir la mise à jour de Studio.

jeet.chanchawat
la source
2

D'accord, il existe une autre instance d'adb.exe distribuée avec "Lenovo Photo Companion". Un de mes amis a un ordinateur portable Lenovo Yoga et a installé ce logiciel qui comprenait un autre adb.exe

Le désinstaller a résolu le problème.

Wolkenjaeger
la source
2

Système d'exploitation: Ubuntu

Il y a plus d'un adb en cours d'exécution. Vérifiez l'adb actuel:

    which adb
    Expected Output : ANDROID_SDK/platform-tools/adb

Normalement, le résultat sera:

    /usr/bin/adb

Supprimez cette ancienne version en:

    cd /urs/bin
    sudo rm adb
Zed
la source
1

Avez-vous essayé d'utiliser la version 8 du SDK. Étant donné que le périphérique est en version 2.2 et que votre SDK est à 10, il peut y avoir un conflit.

Bonne chance avec vos efforts de déclassement !! J'espère que cela résout.

amiekuser
la source
1

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 rebrancher et cela devrait fonctionner. Parfois, il se désynchronise, je pense.

Nate Radebaugh
la source
1

J'ai eu ce problème sur l'une de mes machines de développement (toutes exécutent Windows 7 x64) alors que l'adb de toutes les autres machines fonctionne normalement. La raison pour laquelle j'ai rencontré ce problème est qu'une ancienne version d' adb.exe réside dans % android-sdk% \ tools tandis que les nouveaux SDK Android ont adb.exe sous % android-sdk% \ platform-tools

supprimer l'ancien adb.exe de% android-sdk% \ tools et ajouter% android-sdk% \ platform-tools à% PATH% résout ce problème

ou plus généralement, recherchez tout exécutable adb dans votre chemin qui est obsolète, utilisez simplement le dernier fourni avec le SDK Android

Yenchi
la source
1

J'ai parcouru toutes les réponses sur SO et cela n'a pas fonctionné pour moi. Lorsque j'ai tué le processus adb.exe du Gestionnaire des tâches, il a continué à le rouvrir et la raison était que Droid Explorer fonctionnait en arrière-plan .

Tuer le processus DE via le Gestionnaire des tâches, puis tuer adb.exe (et le réexécuter à partir de la console via 'adb start-server' a fonctionné pour moi.

Cela peut être utile pour de nombreuses personnes qui ont rooté leurs appareils .

syntagme
la source
C'était la solution pour moi. Assurez-vous End process treedans le Gestionnaire des tâches pour le service Droid Explorer.
Jason
1

Malheureusement, je n'ai pas encore assez de réputation pour commenter. Mais la réponse marquée comme une réponse m'a envoyé dans la bonne direction.

Je n'ai rien vu sur mon chemin concernant HTC Sync Manager, même si je l'avais installé. Je ne travaille pas avec mon appareil HTC pour le moment et je n'ai installé que le gestionnaire de synchronisation pour résoudre les problèmes de pilote. Une fois le gestionnaire de synchronisation HTC désinstallé, ce problème a disparu pour moi.

J'espère que ceci aide quelqu'un d'autre.

Ben Williamson
la source
1

Dans mon cas, le problème a été causé par Virtuous Ten Studio, qui contient adb.exe dans le External/ADBrépertoire.

Allez-y et courez .\adb.exe kill-serveret vous serez bien.

Tomáš Zato - Réintégrer Monica
la source
1

Cela a été causé dans mon cas par l'exécution de Visual Studio avec un projet Android Xamarin sur la même machine qu'Android Studio - chaque IDE avait une version de serveur adb différente en cours d'exécution. J'ai fermé Visual Studio et l'erreur a disparu.

dodgy_coder
la source
0

Comme mentionné ci-dessus, le problème est dû à une version conflictuelle d' adb.exe livrée avec HTC Sync. Le supprimer de PATH n'aidera pas, car htcUPCTLoader.exe qui s'exécute constamment en arrière-plan relancera toujours la mauvaise version d'ADB.

Une solution serait de supprimer complètement adb.exe du dossier HTC Sync, mais cela briserait HTC Sync.

Je viens de coder un outil simple qui remplace l'ancien adb.exe par un stub qui invoque le dernier adb.exe du répertoire SDK éliminant les conflits (par exemple la version 1.0.25 avec HTC Sync et 1.0.29 avec Android SDK) .

Outil ADB Fixer

L'outil peut être téléchargé sur http://visualgdb.com/adbfix

Ivan Shcherbakov
la source
0

J'ai également 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 de WIFI / LAN. la réactivation a résolu le problème

bvanvelsen
la source
0

l'installation des mises à jour SDK (y compris les outils de plate-forme) corrigée pour moi

hmac
la source