我如何解决" adb服务器已过期"错误

时间:2016-08-24 18:23:43

标签: android testing adb

据我所知,这个问题已被问过1000次但我在Stackoverflow和其他网站上找到的每个答案都是一样的:要么(1)用户正在使用Genymotion,(2)用户在Windows中使用HTC Sync

我不做。我目前正在OS / X(10.11.6)中运行,并且正在使用运行Android 6.0的Moto X(第二代)手机。

我跑了很多次(不是每次)" adb logcat",我得

adb server is out of date.  killing...
* daemon started successfully *

这是一个问题,因为我正在尝试使用gradlew运行一些自动化测试(因为使用" adb shell am instrument"不生成我需要的JUnit样式报告)并收集日志。但每次我开始" adb logcat"时,gradlew(显然)中的某些东西会尝试启动adb,然后杀死所有运行的adb实例。

有没有人在没有使用Genymotion / HTCSync / Windows的情况下看到此问题并且知道解决方案?

谢谢!

3 个答案:

答案 0 :(得分:3)

无论使用何种操作系统和/或其他软件,server is out of date问题的根本原因仍然相同 - 您的系统中有adb二进制文件的多个副本。解决方案也是一样的:

  • 终止所有正在运行的adb进程
  • 确保您拥有adb(删除重复项)
  • 的唯一副本
  • 将其更新至最新版本
  • 重新配置所有软件包以使用该副本

答案 1 :(得分:0)

只需检查您使用的每个工具是否使用相同的adb版本。例如,删除除最新版本之外的所有版本。

答案 2 :(得分:0)

请检查亚行拥有的所有环境路径。 您的系统可能有多个ADB.exe文件,因此不匹配会导致问题。