如何解决“adb 服务器已过期”错误

ret*_*gam 2 testing android 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 *
Run Code Online (Sandbox Code Playgroud)

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

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

谢谢!

Ale*_* P. 5

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

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