解决"adb服务器版本与此客户端不匹配"错误

Dev*_*onJ 96 android adb appium

我用Python而不是py.test运行我的Appium脚本,因为py.test不能很好地处理我想从文本文件中获取的变量.当我用python运行我的脚本时,除了我的第一个方法总是有错误外,一切正常.

有谁知道如何修复以下错误?

adb server version (31) doesn't match this client (36) adb server version (32) doesn't match this client (36); killing...

小智 166

我通过执行以下操作来解决此问题:

  1. 进入GenyMotion设置 - > ADB选项卡,
  2. 而不是使用Genymotion Android工具(默认),我选择使用自定义Android SDK工具,然后浏览到我安装的SDK.

  • 反正有更新android sdk adb吗? (2认同)
  • 设置在 Genymotion 应用程序中单独可用,而不是在 android studio 中。 (2认同)
  • Android Studio 使用此路径:/Users/<用户名>/Library/Android/sdk ...... Homebrew 使用此路径:/usr/local/Cellar/android-sdk/<version> 在我的情况下 <version>是 24.4.1_1 (2认同)

Nap*_*ean 49

发生此错误的一个可能原因是由于开发计算机中的adb版本与用于调试的连接的连接设备/仿真器不同.

所以决议是:

  1. 首先断开设备/仿真器.
  2. 在终端/命令提示符下运行以下命令:

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

这将成功启动adb.现在你可以连接设备了.希望能帮助到你.


efk*_*kan 49

在我的情况下,解决方案是在基于Ubuntu的操作系统上:

adb kill-server
sudo cp ~/Android/Sdk/platform-tools/adb /usr/bin/adb
sudo chmod +x /usr/bin/adb
adb start-server
Run Code Online (Sandbox Code Playgroud)

荣誉:https://stackoverflow.com/a/38166059/3765109

  • 是的,到了 2020 年,它仍然有效。 (9认同)
  • 谢谢你,2018年,这仍然解决了这个问题.:) (4认同)
  • 2021 年 3 月,仍在摇摆 (3认同)
  • 2019年10月。仍在工作。你是救命稻草 (2认同)
  • 我使用符号链接而不是复制来保持文件最新。```sudo ln -s ~/Android/Sdk/platform-tools/adb /usr/bin/adb``` (2认同)

Sha*_*sim 31

完全相同的问题.尝试杀死并开始,但这对我有用:

adb reconnect
Run Code Online (Sandbox Code Playgroud)

希望能帮助到你.


DàC*_*hún 28

您的系统中似乎有2个adb版本.请找出它们并将adb保留在Android SDK文件夹中,删除包含adb文件的所有其他文件夹.您可以从Application Monitor中找出您正在使用的adb:

在此输入图像描述

如果adb不是Android SDK文件夹中的adb,则可能会出现问题.

在我的情况下,我发现我从这里运行adb:

/ Library/Application Support/RSupport/Mobizen2

删除Mobizen2文件夹后,所有adb命令都可以正常工作.


小智 18

对于仍有这个问题的人(在Windows上):

  1. 打开任务管理器
  2. 转到进程并选择ADB.EXE
  3. 右键单击它并检查属性
  4. 很可能您将看到与adb.exe运行位置不同的路径(HTC管理器,Genymotion等)
  5. 杀死这个过程
  6. 从你的android studio路径运行ADB.exe(在我的例子中:C:\ Users \%user%\ AppData\Local\Android\sdk\platform-tools)

这解决了我的问题.


use*_*679 11

您的计算机上很可能有多个adb版本.您使用一个版本启动adb服务器,然后尝试使用另一个版本连接到此服务器.例如 - Genymotion拥有它自己的adb,如果你启动Genymotion模拟器,然后尝试使用Android SDK中的adb,很可能会出现这样的错误(最新的Genymotion是2.7.2,adb版本1.0.32,而最新的Android SDK有adb版本1.0.36).

  • 将Android SDK中的adb.exe(应该在platform-tools文件夹中)复制到Genymotion(应该在tools文件夹中).例如,如果Android SDK安装在C:\ android-sdk和Genymotion中的c:\ Program Files\Genymobile\Genymotion \中,则需要将文件从c:\ android-sdk\platform-tools\adb.exe复制到c:\ Program Files\Genymobile\Genymotion\tools\adb.exe(制作备份副本......以防万一) (2认同)
  • 您还可以在 genymotion 设置中更改 SDK 工具路径。Genymotion 默认使用自己的 SDK 工具。只需将 genymotion 指向您的 SDK 文件夹即可。关闭模拟器,转到 Genymotion 设置,然后 ADB 选项卡并选择使用自定义 Android SDK 工具并提供路径。 (2认同)

小智 8

在Windows上,只需在Windows任务管理器中检查是否正在运行任何其他adb进程。

还是跑 adb kill-server

如果是,则将其杀死并执行adb start-server命令。

希望它能解决问题。


小智 8

对于那些安装了HTC Sync的人,卸载应用程序为我解决了这个问题.


gor*_*sbm 7

对我而言,这是因为我在两个地方安装了android工具:1.我从谷歌手动下载它的位置2.由Android工作室自动下载

我能做的就是完全删除#1中的文件夹并指向我的bash配置文件和所有其他对Android Studio为我安装它的位置的引用:/ Users/my_user_name/Library/Android/sdk

这解决了它.