5

I am trying to run the sample TipCalc Xamarin (Android) application in Visual Studio, however after it compiles and I run the Android emulator, I'm told the:

adb server version (32) doesn't match this client (36)

How do I fix this? I've updated Xamarin and the Android SDK files and Xamarin is correctly pointing to my android SDK location (D:\dev\Xamarin\AndroidSDK).

enter image description here

Here's a screenshot of my Android SDK manager:

enter image description here

Here's a bigger snippet of the output:

1>D:\dev\Xamarin\AndroidSDK\platform-tools\adb.exe -s 169.254.138.177:5555 devices 
1>error: 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)
1>List of devices attached
1>adb server version (32) doesn't match this client (36); killing...
1>could not read ok from ADB Server
1>* failed to start daemon *
1>error: cannot connect to daemon
1>
1>Selected device is not running.
1>Build FAILED.

Update: installing Android SDK Build-tools 24.0.3 (and removing 23.0.2) didn't help.


This answers provided at this this question don't help, as I don't know what Appium or Genymotion are, nor do I work with PHP. I agree though they are both caused by the android debugger, but I need the Xamarin fix.

3
  • Using Genymotion? Commented Oct 10, 2016 at 1:09
  • 3
    Possible duplicate of Appium: adb server version (31) doesn't match this client (36) Commented Oct 10, 2016 at 1:11
  • @SushiHangover I don't know what Genymotion is. I'm just using Xamarin .Android. The other article, which I've looked at doesn't help me. Commented Oct 10, 2016 at 6:11

1 Answer 1

8
+25

The issue is you have another adb server running at the same time. When you install the Android SDK it installs a version of adb that Xamarin will use (in this case version 36), but some other tools also have adb installed with them. Some examples include Gennymotion and Appium as already mentioned, in my case it came as part of Mobizen which I was using for sharing the android device screen back to my Mac. You will have something installed which runs adb (version 32) causing the conflict.

What you'll need to do is locate the offending adb install and delete it. I'm assuming you are on windows so best to fire up task manager and have a look at the processes to find adb. Once you locate it you should be able to see what app it was installed from it's properties with based on it's path, so that you can uninstall it or delete it.

adb.exe process adb properties showing full path

Sign up to request clarification or add additional context in comments.

1 Comment

It was HiSuite for me, Android device manager software of Huawei. Sometimes it started its own adb when I plugged in my phone, but not is all cases, so it was kind of hard to find, I was watching the process list just when plugging the phone in, and hunted the newly instance of adb - gotcha! Thanks for the help!

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.