'ADB server version (36) doesn't match this client (39); killing [duplicate]
After installing the Android O preview on a test device my ADB stopped working and started giving me this error.
adb server version (36) doesn't match this client (39); killing...
adb E 03-27 08:01:55 2925 147690 usb_osx.cpp:333] Could not open interface: e00002c5
adb E 03-27 08:01:55 2925 147690 usb_osx.cpp:294] Could not find device interface
error: could not install *smartsocket* listener: Address already in use
ADB server didn't ACK
* failed to start daemon *
error: cannot connect to daemon
The only answers I have come across on this issue referred to Genymotion being out of sync with ADB but I don’t use Genymotion. Any help would be greatly appreciated. I have already wiped and reinstalled Android Studio as well as all of its tools and settings yet seem to still have this issue.
Solution 1:[1]
In my case this error occured when I set up my environment adb path as ~/.android-sdk/platform-tools
(which happens when e.g. android-platform-tools is installed via homebrew), which version was 36, but Android Studio project has Android SDK next path ~/Library/Android/sdk
which adb version was 39.
I have changed my PATH to platform-tools to ~/Library/Android/sdk/platform-tools
and error was solved
Solution 2:[2]
This works for me...
- go to GenyMotion settings -> ADB tab
- instead of Use Genymotion Android tools, choose custom Android SDK Tools and then browse your installed SDK.
Solution 3:[3]
The main point that all the others have missed, is that you will get this error when you have a running adb process in the background. So the first step is to find it and kill it:
ps aux | grep adb
user 46803 0.0 0.0 2442020 816 s023 S+ 5:07AM 0:00.00 grep adb
user 46636 0.0 0.0 651740 3084 ?? S 5:07AM 0:00.02 adb -P 5037 fork-server server
When you find it, you can kill it using kill -9 46636
.
In my case, the problem was an old version of adb coming from GapDebug. If you got this with GapDebug, get out of it and then do
adb kill-server
adb start-server
because with GapDebug in the background, when you kill the adb server, GapDebug will start its own copy immediately, causing the start-server to be ignored
Solution 4:[4]
I had the same problem with Android Studio - adb server version (37) doesn't match this client (39)
. I fixed by the following solution :
In Android Studio go to Tools -> Android -> SDK Manager
In the SDK Tools tab untick Android SDK Platform-Tools, click Apply to uninstall.
I then renamed the folder
Platform-Tools
toPlatform-ToolsOld
Then back in the SDK Manager re-tick the Platform-Tools to re-install.
Solution 5:[5]
I had the same error. In my case, using Appium, I had two versions of ADB
$ /usr/local/bin/adb
version 36
and
$ /Users/user/Library/Android/sdk/platform-tools/adb
version 39
The solution was:
be sure that your $PATH in bash_profile is pointing to:
/Users/user/Library/Android/sdk/platform-tools/
stop the adb server:
adb kill-server
and check Appium is stopped.delete the adb version 36 (or you can rename it to have a backup):
rm /usr/local/bin/adb
start adb server:
adb start-server
or just starting Appium
Solution 6:[6]
As mentioned by others here, that you could have two adb's running ... And to add to these answers from a Linux box perspective ( for the next newbie who is working from Linux );
Uninstall your distro's android-tools ( use zypper or yum etc )
# zypper -v rm android-tools
Find where your other adb is
# find /home -iname "*adb"|grep -i android
Say it was at ;
/home/developer/Android/Sdk/platform-tools/adb
Then Make a softlink to it in the /usr/bin folder
ln -s /home/developer/Android/Sdk/platform-tools/adb /usr/bin/adb
Then;
# adb start-server
Solution 7:[7]
You have two versions of ADB
$ /usr/local/bin/adb version
Android Debug Bridge version 1.0.36
Revision 0e9850346394-android
and
$ /Users/user/Library/Android/sdk/platform-tools/adb version
Android Debug Bridge version 1.0.39
Revision 3db08f2c6889-android
You could see which one your PATH is pointing to (echo $PATH
) but I fixed it with a adb stop-server
on one version and a adb start-server
on the other.
Solution 8:[8]
To add yet another potential solution, Helium by Clockworkmod has it's own version of ADB built in that kept being started. Exiting the Helium Desktop application resolves the issue.
Solution 9:[9]
I think you have multiple adb server running, genymotion could be one of them, but also Xamarin - Visual studio for mac OS could be running an adb server, closing Visual studio worked for me
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
Solution | Source |
---|---|
Solution 1 | tholu |
Solution 2 | Alecs |
Solution 3 | |
Solution 4 | Cadoiz |
Solution 5 | Pablo Gómez |
Solution 6 | |
Solution 7 | i_want_more_edits |
Solution 8 | HeWhoWas |
Solution 9 | Nicolás Loaiza |