ADB服务器版本(36)与此客户端不匹配(39){未使用genymotion}

HTM*_*ama 71 android adb

在测试设备上安装Android O预览后,我的ADB停止工作并开始给我这个错误.

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

我在这个问题上遇到的唯一答案是Genymotion与ADB不同步,但我不使用Genymotion.任何帮助将不胜感激.我已经擦除并重新安装了Android Studio及其所有工具和设置,但似乎仍然存在此问题.

Ale*_*ecs 91

这对我有用......

  • 转到GenyMotion设置 - > ADB选项卡
  • 而不是使用Genymotion Android工具,选择自定义Android SDK工具,然后浏览已安装的SDK.

  • 我的系统上没有 Genymotion。 (4认同)

Den*_*eev 49

在我的情况下,当我设置我的环境adb路径时发生这个错误~/.android-sdk/platform-tools(例如当安装了自制软件时安装了android-platform-tools),版本是36,但是Android Studio项目有Android SDK下一条路径~/Library/Android/sdkadb版本是39 .

我已将PATH更改为平台工具~/Library/Android/sdk/platform-tools,错误已解决

  • 为什么在没有提供如何执行此操作的详细信息的情况下说"我已经改变了我的路径"? (13认同)
  • @ user1221780抱歉,在MacOS上你可以通过编辑`〜/ .bash_profile`来改变你的PATH变量.打开文件`vi~/.bash_profile`,追加正确的路径`export PATH = $ PATH:〜/ Library/Android/sdk/platform-tools`,保存文件并调用`source $ HOME/.bash_profile`.https://www.cyberciti.biz/faq/appleosx-bash-unix-change-set-path-environment-variable/ (5认同)

ish*_*hak 20

首先,请从标题中删除"{Not using Genymotion}".它分散了像我这样不知道Genymotion是什么的读者.这里荒谬的是你得到一个答案,21分,说"去GenyMotion设置"......

所有其他人都错过的要点是,当您在后台运行adb进程时,您将收到此错误.所以第一步是找到并杀死它:

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
Run Code Online (Sandbox Code Playgroud)

当你找到它时,你可以使用它来杀死它kill -9 46636.

就我而言,问题是来自GapDebug 的旧版adb.如果你使用GapDebug得到这个,那就离开它吧

adb kill-server
adb start-server
Run Code Online (Sandbox Code Playgroud)

因为在后台使用GapDebug,当你杀死adb服务器时,GapDebug会立即启动它自己的副本,导致启动服务器被忽略


use*_*780 9

您有两个版本的ADB $ /usr/local/bin/adb version Android Debug Bridge version 1.0.36 Revision 0e9850346394-android

$ /Users/user/Library/Android/sdk/platform-tools/adb version Android Debug Bridge version 1.0.39 Revision 3db08f2c6889-android

你可以看到你的PATH指向哪一个(echo $PATH)但是我用adb stop-server一个版本和一个版本修复了它adb start-server.


Eze*_*tha 8

我有同样的错误.就我而言,使用Appium,我有两个版本的ADB

$ /usr/local/bin/adb 版本36

$ /Users/user/Library/Android/sdk/platform-tools/adb 版本39

解决方案是:

  1. 确保bash_profile中的$ PATH指向: /Users/user/Library/Android/sdk/platform-tools/

  2. 停止adb服务器:adb kill-server并检查Appium是否已停止.

  3. 删除adb版本36(或者您可以将其重命名为备份): rm /usr/local/bin/adb

  4. 启动adb服务器:adb start-server或者只是启动Appium

  • 这是针对 MacOSx 的。这也涵盖了我的情况。步骤: 1. `adb Kill-server` 2. sudo mv /usr/local/bin/adb /usr/local/bin/adb36 3. echo $PATH 4. 检查 /platform-tools/ 文件夹是否在其中(make确保路径末尾有一个斜杠) 5. `adb start-server` (2认同)

HeW*_*Was 6

为了增加另一个潜在的解决方案,Helium by Clockworkmod拥有自己的内置ADB版本,并且一直在启动.退出Helium Desktop应用程序可以解决此问题.


小智 6

我在Android Studio中遇到了相同的问题-adb服务器版本(37)与该客户端(39)不匹配。我通过以下解决方案解决了:

在Android Studio中,转到工具-> Android-> SDK管理器

在“ SDK工具”选项卡中,取消选中“ Android SDK平台工具”,单击“应用”以进行卸载。

然后,我将Platform-Tools文件夹重命名为Platform-ToolsOld

然后回到SDK Manager,重新勾选Platform-Tools以重新安装。

  • 如果您刚刚更新到更新版本的android sdk构建工具(29.0.1),这是正确的答案。在我的情况下,adb服务器版本(41)与该客户端(36)不匹配;杀死...按照这个答案,我取消了构建工具-> apply(uninstall)->在sdk位置(/ Users / your_name / Library / Android / sdk / platform-tools)中重命名。您可以在SDK管理器中找到它的路径。然后再次打勾->安装,即可重新工作。另外,如果您使用Windows,请检查活动监视器或任务管理器,并杀死所有adb.exe任务。然后在您的终端中使用adb kill-server && adb start-server (2认同)

Mar*_*Zen 6

如此处其他人所提到的,您可能正在运行两个adb ...并从Linux机器角度添加这些答案(适用于使用Linux的下一个新手);

  1. 卸载发行版的android工具(使用zypper或yum等)

    # zypper -v rm android-tools
    
    Run Code Online (Sandbox Code Playgroud)
  2. 查找其他adb在哪里

    # find /home -iname "*adb"|grep -i android
    
    Run Code Online (Sandbox Code Playgroud)

    说是在;

    / home / developer / Android / SDK / platform-tools / adb

  3. 然后在/ usr / bin文件夹中对其进行软链接

     ln -s /home/developer/Android/Sdk/platform-tools/adb  /usr/bin/adb
    
    Run Code Online (Sandbox Code Playgroud)
  4. 然后;

     # adb start-server
    
    Run Code Online (Sandbox Code Playgroud)