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

时间:2016-07-05 22:45:20

标签: android adb appium

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

有谁知道如何解决以下错误?

{{1}}

17 个答案:

答案 0 :(得分:157)

我通过执行以下操作来修复此问题:

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

答案 1 :(得分:42)

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

所以决议是:

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

    adb kill-server
    adb start-server
    
  3. 这将成功启动adb。现在你可以连接设备了。 希望它有所帮助。

答案 2 :(得分:27)

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

adb reconnect

希望它有所帮助。

答案 3 :(得分:22)

在我的情况下,解决方案是基于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

答案 4 :(得分:21)

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

enter image description here

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

就我而言,我发现我从这里开始运行adb:

  

/ Library / Application Support / RSupport / Mobizen2

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

答案 5 :(得分:10)

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

答案 6 :(得分:10)

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

  1. 打开任务管理器
  2. 转到进程并选择ADB.EXE
  3. 右键单击它并检查属性
  4. 您很可能会看到与adb.exe运行位置不同的路径(HTC管理器,Genymotion等)
  5. 终止这个过程
  6. 从Android工作室路径运行ADB.exe(在我的情况下:C:\ Users \%user%\ AppData \ Local \ Android \ sdk \ platform-tools)
  7. 这解决了我的问题。

答案 7 :(得分:6)

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

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

这解决了它。

答案 8 :(得分:6)

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

答案 9 :(得分:3)

自从更新的platfrom-tool到版本24后,我遇到了同样的问题 并且不确定根本原因...(当前adb版本是1.0.36)

同时尝试adb kill-serveradb start-server,但问题仍然存在

但是当我将adb版本降级到1.0.32时,一切工作都会

答案 10 :(得分:3)

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

或运行adb kill-server

如果是的话,就把它杀掉吧。然后执行adb start-server命令。

我希望,它应该解决问题。

答案 11 :(得分:1)

对我有用的是什么:

  1. adb kill-server
  2. 关闭所有chrome://inspect/#devices个窗口/标签
  3. adb start-server
  4. adb devices

答案 12 :(得分:0)

主要是您需要删除重复的adb.exe文件。您可以使用Everything查找。

保留平台工具adb.exe

并将platform-tools目录添加到您的环境路径变量。

我正在使用Memu Emulator。

所以,我采取了以下措施:

转到Memu安装目录:(在我的案例中D:\ Program Files \ Microvirt \ MEmu)

然后删除adb.exe文件。

它应该适合你。

答案 13 :(得分:0)

如果您正在使用android studio,请尝试一下:

从系统变量/用户变量中删除adb和路径变量。 然后转到android studio终端,然后输入命令adb start-service。

我尝试了这个,它对我有用。

答案 14 :(得分:0)

这个问题对我来说是由于apowermirror同时运行造成的,我可以告诉任何可以使用不同版本的adb的软件都可能导致这些问题,因为其他人在这个帖子中提到这可能包括Genymotion或其他线程虚幻的工作室是问题。

答案 15 :(得分:0)

  1. adb kill-server
  2. 关闭您用于管理Android手机的所有电脑侧应用程序,例如360mobile(360手机助手)。您可能需要在必要的任务管理器中结束它们。
  3. adb start-server,应该解决

答案 16 :(得分:-1)

我最近也遇到过这个问题,在这里没有任何答案工作之后,我意识到我正在测试的APK将是针对最新的sdk构建的。

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