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

我使用 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...
253811 次浏览

发生此错误的一个可能原因是由于开发机器中 Adb 版本的差异以及用于调试的连接的设备/模拟器。

所以解决办法是:

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

    adb kill-server
    adb start-server
    

This will start the adb successfully. Now you can connect device. Hope it helps.

自从 Platfrom-tool 升级到24版以来,我也遇到了同样的问题 并且不确定根本原因... (当前的 adb 版本是1.0.36)

也尝试 adb kill-serveradb start-server,但问题仍然发生

但是当我把 adb 版本降级到1.0.32的时候,一切都会好起来的

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

我通过以下操作解决了这个问题:

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

完全相同的问题。试图杀死和开始,但这对我的工作:

adb reconnect

希望能有帮助。

对我来说,这是因为我在两个地方安装了 android 工具: 1. 我从谷歌手动下载的地址 2. Android 工作室自动下载

我所能做的就是完全删除 # 1中的文件夹,然后把我的 bash 配置文件和所有其他引用指向 Android 工作室为我安装它的位置:/Users/my _ user _ name/Library/Android/sdk

这就解决了。

在我的案例中,基于 Ubuntu 操作系统的解决方案是这样的:

adb kill-server
sudo cp ~/Android/Sdk/platform-tools/adb /usr/bin/adb
sudo chmod +x /usr/bin/adb
adb start-server

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

在 Windows 上,如果有任何其他 adb 进程正在运行,只需检查 Windows 任务管理器。

或者运行 adb kill-server

如果是,只需杀死它,然后执行 adb start-server命令。

我希望这能解决问题。

我最近也遇到过这个问题,在这里没有一个答案有效之后,我意识到我正在测试的 APK 可能是针对最新的 sdk 构建的。

因此,我进入 Appium 设置,将平台版本更改为最新版本,这为我解决了问题。

似乎你的系统有2个 adb 版本。请找出他们,并保持在您的 Android SDK文件夹中的 adb 只,删除所有其他文件夹,包括 adb 文件。 您可以从应用程序监视器中找到您正在使用的 adb:

enter image description here

如果您的 Android SDK 文件夹中没有 adb,那么这可能是个问题。

在我的例子中,我发现我是从这里运行 adb:

图书馆/应用程序支持/RSupport/Mobizen2

删除 Mobizen2文件夹后,所有 adb 命令都能正常工作。

对我有效的方法是:

  1. adb kill-server
  2. 关闭所有 chrome://inspect/#devices窗口/选项卡
  3. adb start-server
  4. adb devices

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

  1. Adb 杀死服务器
  2. 关闭任何你用来管理 android 手机的 PC 端应用程序 ,例如360mobile (360手机助手)。必要时,您可能需要在任务管理器中结束它们。
  3. Adb 开始-服务器,应该解决这个问题

对于任何仍然有这个问题(在窗口)的人:

  1. 打开任务管理器
  2. 转到进程并选择 ADB.EXE
  3. 右键单击它并检查属性
  4. 您很可能会看到 adb.exe 运行时的不同路径(HTC 管理器、 Genymotion 等)
  5. 终止这个过程
  6. 从您的 Android 工作室路径运行 ADB.exe (在我的例子中: C: Users% user% AppData Local Android sdk Platform-tools)

这解决了我的问题。

对我来说,这个问题是由于 PowerMirror 同时运行所引起的,我可以告诉任何可以使用不同版本的 adb 的软件可能会导致这些问题,正如其他人在这个帖子中提到的,这可能包括 Genymotion 或其他线程不真实的工作室是问题所在。

如果你正在使用 android 工作室,那么尝试一下:

从系统变量/用户变量删除 adb 的路径变量。 然后到 android 工作室的终端,在那里输入命令 adb start-service。

我试过了,很管用。

主要需要删除重复的 adb.exe 文件。

保留平台工具 adb.exe

并将平台工具目录添加到 Environment Path 变量中。

我正在使用 Memu 模拟器。

因此,我采取了以下步骤:

转到 MEmu 安装目录: (在我的案例 D 中: 程序文件 Microvirt MEmu)

然后删除 adb.exe 文件。

对你来说应该没问题。