首页 文章

Eclipse错误“ADB服务器没有确认,无法启动守护程序”

提问于
浏览
156

更新SDK后,Eclipse显示以下错误:

ADB服务器没有ACK,无法启动守护进程 .

当我运行Android应用程序时,它给了我以下内容:

请确保adb正确位于'D:\ android-sdk-windows \ platform-tools \ adb.exe'并且可以执行 .

我该如何解决这个问题?

22 回答

  • 2

    谢谢, @jowett ,我解决了同样的问题,做了这些步骤

    Step 1: CTRL Shift Esc打开任务管理器,其中包含adb.exe进程并结束(终止)该进程

    Step 2: 现在,关闭当前在我的计算机上运行的eclipse .

    Step 3: 再次,重启eclipse然后解决了这个问题 .


    对于那些使用OS X的人

    killall adb
    

    对于那些使用Windows的人

    adb kill-server
    

    应该做的伎俩 .

  • 4

    我遇到了同样的问题,虽然我没有导致这个问题 . 无论如何,我找到了一些线索并最终修复 .

    当我打开SDK和AVD管理器时,却发现AVD版本(2.3.3)与android lib版本(2.3)不一样 . 所以我用2.3创建了一个新的AVD .

    我通过以下步骤修复它:1 . 打开Windows任务管理器并终止adb.exe进程 . 2.关闭eclipse并重新启动它 . 然后它工作 .

    希望能帮助到你 .

  • 40

    如果您在Android Studio的同时使用Genymotion模拟器(在Windows或Linux上),则会出现这些症状:

    adb server is out of date.  killing...
    ADB server didn't ACK
    * failed to start daemon *
    

    Genymotion包含自己的 adb 副本,它会干扰Android SDK中捆绑的副本 .

    最简单的修复方法似乎是更新您的Genymotion设置,以便它使用与Android SDK相同的ADB:

    genymotion ADB settings

    只需选中“使用自定义Android SDK工具”选项,然后输入所需的位置即可 .

  • 263

    如果 adb_usb.ini 中有换行符,ADB通常会失败 . 删除它,重新启动它,这通常可以解决问题(至少对我来说) .

  • 35

    命令提示符(cmd.exe):

    netstat -aon | findstr 5037
    

    找到0.0.0.0的进程ID:

    Enter image description here

    确保它是adb.exe:

    tasklist | findstr 1980
    

    Enter image description here

    杀掉这个过程:

    taskkill /f /t /im adb.exe
    

    Enter image description here

    让亚行恢复正常:

    Enter image description here

    图片来源:博文* Android ADB server didn't ACK failed to start daemon *

  • 8

    如果您正在为设备使用同步应用程序,也可能是因为有其他应用程序使用相同的 5037 端口 . 关闭在端口 5037 上运行的所有服务,然后尝试启动ADB .

    要检查是否有任何应用程序正在使用端口5037,请使用:

    netstat -a -n -o |findstr "5037"
    

    获取应用程序的PID .

    使用Process Explorer查找进程并退出它 .

    现在使用 adb start-serveradb get-state 来启动/检查ADB服务器状态 .

    当我使用Snappea / Wandoujia Sync应用程序时,我遇到了这个问题 .

  • 35

    我通过在〜/ .android / adb_usb.ini的末尾输入一个额外的空行来引起这个问题

    (删除额外的空行修复了问题)

  • 33

    我们可以很容易地解决这个问题 .

    • 打开命令提示符,然后执行 cd <platform-tools directory>

    • 运行命令 adb kill-server

    • 打开Windows任务管理器并检查 adb 是否仍在运行 . 如果是的话,就是杀了 adb.exe

    • 在命令提示符下运行命令 adb start-server

    Enter image description here

  • 13

    我已经解决了我的第一个问题:打开Eclipse,打开SDK Manager,然后选择要打开的设备 .

    或者您可以打开SDK目录 . 打开SDK Manager,然后选择要打开的设备

    2:关闭Eclipse,然后打开它 .

  • 7

    确保手机上的USB调试已打开 . ADB kill-server和ADB启动服务器不是问题 .

    C:\Documents and Settings\Administrator> adb nodaemon server
    
     - cannot bind 'tcp:5037'
    
    C:\Documents and Settings\Administrator> netstat -aon | findstr "5037"
    
     - TCP 127.0.0.1:1130 127.0.0.1:5037 TIME_WAIT 0
     - TCP 127.0.0.1:1269 127.0.0.1:5037 TIME_WAIT 0
     - TCP 127.0.0.1:5037 0.0.0.0:0 LISTENING 3088
     - TCP 127.0.0.1:5037 127.0.0.1:1128 TIME_WAIT 0
     - TCP 127.0.0.1:5037 127.0.0.1:1129 TIME_WAIT 0
     - TCP 127.0.0.1:5037 127.0.0.1:1270 TIME_WAIT 0
    
    C:\Documents and Settings\Administrator>tasklist -fi "pid eq 3088"
    
     - Image name PID session name session # memory usage
    

    ========================= ====== ================ === ===== ============

    - adb.exe 3088 Console 0 3,816 K
    
    C:\Documents and Settings\Administrator>taskkill /f /pid 3088
    
     - Success: terminate the PID for the process of 3,088.
    
    C:\Documents and Settings\Administrator>adb start-server
    
     - daemon not running. starting it now on port 5037 *
     - daemon started successfully *
    
  • 5

    我已经向这个问题提出了另一个答案,但是如果有人想知道,你不需要重新启动Eclipse来让ADB再次运行 . 只需打开一个shell并运行命令:

    adb start-server
    

    如果你还没有在系统属性中设置ADB的路径,那么你必须先进入ADB所在的目录(在Android \ android-sdk \ platform-tools ....我正在运行Windows,我不是'我知道mac人是如何做事的 .

  • 5

    如果你还没有安装它们,请运行到sysinternals.com并选择TCPVIEW和PROCESS EXPLORER .

    出于某种原因,ADB守护程序在关闭套接字交换完成之前终止 . 如果您运行(从命令提示符)“NETSTAT -o”,您将看到处于CLOSE_WAIT状态的套接字(通常为5037)和拥有的进程号 . Process Explorer不会显示进程ID(守护程序终止),并且名为adb.exe(打开套接字)的进程将消失 . (如果是adb.exe的话发现,尝试杀死任务,看看事情是否得到清理 . )

    使用TCPVIEW,找到挂起的套接字 . 进程名称列将显示无法找到的关联进程 . 右键单击,然后选择“关闭连接” . 套接字现已关闭,adb守护程序应该能够启动 .

  • 2

    我有类似的问题 . 从任务管理器中杀死ADB流程的现有实例确实为我工作了 not .

    就在几天之前,我曾尝试过早安装MIPS SDK和ADT-17,Eclipse给了我错误,我没有解决这个问题 .

    所以,现在,当我遇到这个 ADB server didn't ACK, failed to start daemon... 问题时,我在Eclipse Help菜单项中执行了'Check for Updates' . 没有可用的更新,但至少'ADB server did not ACK'错误消失了 .

    我希望这可能在一些情况下有所帮助 .

  • 1

    在终端中键入 ./adb nodaemon server .

    如果它返回 Invalid content in adb_usb.ini ,那么 .android 文件夹中的 adb_usb.ini 文件存在问题 .

    打开 adb_usb.ini 并删除其内容 . 然后重启服务器......它对我有用 .

  • 1

    检查Android目录的路径 . 它不应包含空格等 .

    还要检查Eclipse中的插件是否已正确配置→首选项 .

    在我的情况下,我已经多次检查了一切,但它仍然无法正常工作 . 我准备重新安装所有东西,但我在这个网站上找到了答案(其他一些帖子) .

    请检查您的防病毒软件 . 它可能会阻塞 adb.exe 或仿真程序等的端口 . 这解决了我的问题 .

  • 1

    除了 @Bastet 的解决方案:

    实际上我们必须使用地址 0.0.0.0:0 来终止进程 . 这就是为什么从任务管理器中杀死 adb.exe 的大多数人都在工作(在我的情况下,我甚至无法在任务管理器中看到它) .

    @Bastet 步骤之后,我发现其他一些进程正在使用此地址 . 我继续杀了它,它给了我 ACCESS DENIED 作为 Error .

    所以使用 tasklist | findstr **** 我找到了进程的名称并将其从任务管理器中删除 .

    此后它开始工作了 .

    在我的情况下 bas_daemonbas_helper 正在使用这个地址,两者都对应于MOBOROBO .

  • 0

    我有同样的问题 . 但我的笔记本电脑上没有 adb 的过程 . 我刚刚退出并登录到我的帐户,它已经解决了......

    之后,ADB可以从CMD窗口开始 .

  • 0

    无需重新启动任何设备或软件即可获得最佳和最有效的方法:

    运行以下命令:

    adt-bundle-windows-x86_64\sdk\platform-tools\adb.exe
    

    还有一件事......亚行是一种自立的东西 . 除非它想要自己工作,否则你什么都做不了 . 我发现还有一种方法:将设备连接5-6分钟并等待 . 设备很快就会连接并尝试启动 .

  • 0

    直到我根据我的Samsung Galaxy S III手机(遵循xda-developer论坛指南),这才开始发生 .

    它随机发生,但在运行Eclipse时肯定会发生 .

    杀死adb.exe进程并重新启动它可以解决问题 .

  • 0

    看看防病毒或防火墙......是否有任何阻止你访问...在k7杀毒软件我关闭了系统监视器,它确实适合我...

  • -1

    我不得不允许adb.exe访问我的防火墙中的网络 .

  • -1

    杀死Eclipse然后重新启动并没有帮助我 . 我将Android工具添加到PATH变量,启动任务管理器并杀死adb.exe .

    我重新启动了Eclipse,然后它运行了 .

相关问题