This question already has an answer here:
- adb server version doesn't match this client 32 answers
Trying to use adb shell
from terminal after starting genymotion emulator and I get this error:
adb server is out of date. killing...
cannot bind 'tcp:5037'
ADB server didn't ACK
* failed to start daemon *
error:
I read in this answer on stackoverflow to run this command killall -9 adb
so I did and then it says to change genymotion settings to use custom Android SDK tools as the following:
Also did that as you can see in the above screenshot but I still keep getting the same error message.
My android Studio ADB logs give the following message whenever I try to run adb shell
:
DeviceMonitor: Adb connection Error:EOF
DeviceMonitor: Connection attempts: 1
I even tried creating a new virtual device and using it without any success.
Neither of those solutions worked for me at all.
The solution which solved my error was to add both the missing /Android/Sdk/tools & /Android/Sdk/platform-tools directories to my Environment PATH variable,this can be achieved with the following command:
Be sure to interpolate your own username into the command, replacing {username} with your operating system username.
Doing so will direct your command line to search your Environmant's PATH variable for the proper location of the adb executable, without this environment variable set, your system does not know where to look for the correct executable.
update the adb to 1.0.32 if you have 1.0.31 or lower
The root cause for this issue is that you try to run adbs of different versions. PC(Host) side adb is made of two parts: adb and adb server.
adb <----> adb server <--------USB-------> adbd(device)
adb and adb server actually is the same binary, but adb server is running at background when you first issue a adb command. After that, adb command will contact which adb server each time you run adb, and first of all it check the versions of running adb server. If version is not match, then you will see 'adb server is out of date. killing...'. This is the only reason.
To resolve this problem, you just need to make sure you are not tring to run different version adb.
The output like this:
"1.0.35" is the version number.
if they are not matched, you can: