如何解决 "adb server is out of date" 错误

How can I resolve "adb server is out of date" error

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

我什么都不做。我目前 运行ning 在 OS/X (10.11.6) 并且正在使用 Moto X(第 2 代)phone 运行ning Android 6.0.

很多次(不是每次)当我 运行 "adb logcat",我得到

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

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

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

谢谢!

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

无论使用 OS and/or 其他软件,server is out of date 问题的根本原因仍然相同 - 您的系统中有多个 adb 二进制文件副本.解决方法也是一样的:

  • 杀死所有 运行 adb 个进程
  • 确保您拥有 adb 的唯一副本(删除重复项)
  • 更新到最新版本
  • 重新配置所有软件包以使用该副本

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