Solvedscrcpy adb server version (41) doesn't match this client (40)

I'm facing this error starting from today:

adb server version (41) doesn't match this client (40); killing...
ADB server didn't ACK
Full server startup log: /var/folders/0q/jh77wwcx1cs989k89kv79mqr0000gn/T//adb.501.log
Server had pid: 34316
--- adb starting (pid 34316) ---
adb I 05-09 21:30:11 34316 4407796 main.cpp:56] Android Debug Bridge version 1.0.40
adb I 05-09 21:30:11 34316 4407796 main.cpp:56] Version 28.0.2-5303910
adb I 05-09 21:30:11 34316 4407796 main.cpp:56] Installed as /usr/local/bin/adb
adb I 05-09 21:30:11 34316 4407796 main.cpp:56] 
adb I 05-09 21:30:11 34316 4407799 usb_osx.cpp:308] reported max packet size for ce061716d90b602a027e is 512
adb I 05-09 21:30:11 34316 4407796 auth.cpp:405] adb_auth_init...
adb I 05-09 21:30:11 34316 4407802 transport.cpp:283] ce061716d90b602a027e: read thread spawning
adb I 05-09 21:30:11 34316 4407803 transport.cpp:296] ce061716d90b602a027e: write thread spawning
adb I 05-09 21:30:11 34316 4407796 transport.cpp:1334] fetching keys for transport ce061716d90b602a027e
adb I 05-09 21:30:11 34316 4407796 auth.cpp:457] Calling send_auth_response
adb I 05-09 21:30:11 34316 4407796 adb.cpp:114] ce061716d90b602a027e: offline
adb server killed by remote request
adb I 05-09 21:30:14 34316 4407796 transport.cpp:339] BlockingConnectionAdapter(ce061716d90b602a027e): stopping
adb I 05-09 21:30:14 34316 4407796 usb_osx.cpp:561] Kicking handle
adb E 05-09 21:30:14 34316 4407802 usb_osx.cpp:541] usb_read failed with status: e00002eb
adb I 05-09 21:30:14 34316 4407802 transport.cpp:287] ce061716d90b602a027e: read failed: Undefined error: 0
adb I 05-09 21:30:14 34316 4407802 transport.cpp:676] ce061716d90b602a027e: connection terminated: read failed
adb I 05-09 21:30:14 34316 4407796 transport.cpp:357] BlockingConnectionAdapter(ce061716d90b602a027e): stopped

* failed to start daemon
adb: error: failed to get feature set: cannot connect to daemon
2019-05-09 21:30:14.285 scrcpy[34314:4407786] ERROR: "adb push" returned with value 1

I attached the content of /var/folders/0q/jh77wwcx1cs989k89kv79mqr0000gn/T//adb.501.log
adb.501.log

52 Answers

✔️Accepted Answer

fixed this by doing the following:

going into GenyMotion settings -> ADB tab,
instead of Use Genymotion Android tools (default), I chose Use custom Android SDK Tools and then browsed to my installed SDK.

Other Answers:

So you have several adb versions running. Something on your system starts (and seems to restart when it dies) the server with adb 41.

And scrcpy uses your adb 40.

What is the result of adb version?
Find where your adb 41 binary is, and you can force it:

ADB=/path/to/some/adb scrcpy

A better way would be to change your PATH so that it always finds the right adb.

Hi, what worked for me.

My Android Studio has an adb file inside /home/myuser/Android/Sdk/platform-tools/ and with the version 1.0.41.

Note where I put myuser could be your name, whatever, just locate your Android path.

My error was:
adb server version (41) doesn't match this client (39)

When you type just adb in terminal, this command will be related with the adb archive inside /usr/bin.

So, I did these steps inside terminal:

  1. adb version
    Android Debug Bridge version 1.0.39
  2. cd /usr/bin
  3. sudo rm adb
  4. cd /home/myuser/Android/Sdk/platform-tools/
  5. Please check if there is an adb file inside your path
  6. Now copy to /usr/bin
    sudo cp adb /usr/bin
  7. adb version again
    Android Debug Bridge version 1.0.41

With this done, right now I have the same adb file to both of them, so, if in the future the SDK Manager ask to upgrade platform-tools, remember to do it again if the error back to appear.

Capture
Capture2

Hi all, replace 3 files in "scrcpy" folder by their version in "platform-tools" maybe work.

I hope this will be useful !!!

More Issues: