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

问题描述 投票:0回答:4

我知道这个问题已经被问了 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,然后杀死 all 正在运行的 adb 实例。

有人在使用 Genymotion/HTCSync/Windows 时没有见过这个问题并知道解决方案吗?

谢谢!

android testing adb
4个回答
9
投票

无论使用何种操作系统和/或其他软件,

server is out of date
问题的根本原因仍然相同 - 您的系统中存在多个
adb
二进制文件副本。解决方法也是一样的:

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

0
投票

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


0
投票

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


0
投票

导致错误的原因是你电脑的adb版本和你的android sdk的adb版本不一致!!! 首先,如果你使用Windows,打开cmd并输入

where adb
,

第二,将其替换为你的android sdk的adb

终于,你明白了。 The computer adb version

© www.soinside.com 2019 - 2024. All rights reserved.