无法使用ADB

时间:2016-10-10 00:44:59

标签: c# android xamarin visual-studio-2015 xamarin.android

我正在尝试在Visual Studio中运行示例TipCalc Xamarin(Android)应用程序,但是在编译并运行Android模拟器之后,我告诉:

  

adb服务器版本(32)与此客户端(36)

不匹配

我该如何解决这个问题?我已更新Xamarin和Android SDK文件,Xamarin正确指向我的Android SDK位置(D:\dev\Xamarin\AndroidSDK)。

enter image description here

这是我的Android SDK管理器的屏幕截图:

enter image description here

这是一个更大的输出片段:

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.

更新:安装Android SDK Build-tools 24.0.3(以及删除23.0.2)并没有帮助。

这个答案提供了this question没有帮助,因为我不知道Appium或Genymotion是什么,也不使用PHP。我同意虽然它们都是由android调试器引起的,但我需要Xamarin修复。

1 个答案:

答案 0 :(得分:8)

问题是您有另一台adb服务器同时运行。当您安装Android SDK时,它会安装Xamarin将使用的adb版本(在本例中为版本36),但其他一些工具也安装了adb。一些例子包括已经提到过的Gennymotion和Appium,在我的例子中,它是Mobizen的一部分,我用它来将Android设备屏幕分享回我的Mac。你将安装一些运行adb(版本32)的东西,导致冲突。

您需要做的是找到有问题的adb安装并将其删除。我假设你在Windows上,所以最好启动任务管理器并查看查找adb的过程。找到它之后,你应该可以根据它的路径查看它所安装的应用程序的属性,以便您可以将其卸载或删除。

adb.exe process adb properties showing full path