繁体   English   中英

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

[英]Eclipse error "ADB server didn't ACK, failed to start daemon"

更新 SDK 后,Eclipse 显示此错误:

ADB 服务器没有确认,无法启动守护进程。

当我运行一个 Android 应用程序时,它给了我以下信息:

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

我该如何解决这个问题?

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

第1步: CTRL + Shift + Esc打开任务管理器,其中有adb.exe进程并结束(kill)该进程

第2步:现在,关闭当前在我的计算机上运行的eclipse。

第3步:再次,重启eclipse然后解决了这个问题。


对于那些使用OS X的人

killall adb

对于那些使用Windows的人

adb kill-server

应该做的伎俩。

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

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

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

希望能帮助到你。

如果您在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亚行设置

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

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

命令提示符(cmd.exe):

netstat -aon | findstr 5037

找到0.0.0.0的进程ID:

在此输入图像描述

确保它是adb.exe:

tasklist | findstr 1980

在此输入图像描述

杀掉这个过程:

taskkill /f /t /im adb.exe

在此输入图像描述

让亚行恢复正常:

在此输入图像描述

信用:博客帖子* Android ADB服务器没有确认无法启动守护进程 *

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

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

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

获取应用程序的PID。

使用Process Explorer查找Process并退出它。

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

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

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

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

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

  1. 打开命令提示符,然后执行cd <platform-tools directory>
  2. 运行命令adb kill-server
  3. 打开Windows任务管理器并检查adb是否仍在运行。 如果是,只需杀死adb.exe
  4. 在命令提示符下运行命令adb start-server

在此输入图像描述

确保手机上的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 *

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

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

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

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

adb start-server

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

我有一个类似的问题。 从任务管理器中杀死现有的ADB流程实例并不适用于我。

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

所以,现在,当我得到这个ADB服务器没有确认,无法启动守护进程...问题时,我在Eclipse 帮助菜单项中执行了“检查更新”。 没有可用的更新,但至少“ADB服务器没有确认”错误消失了。

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

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

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

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

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

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

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

请检查您的防病毒软件。 它可能阻止了adb.exeadb.exe程序等的端口。这解决了我的问题。

除了@Bastet的解决方案:

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

@Bastet步骤之后,我发现其他一些进程正在使用这个地址。 我继续杀了它,它给了我ACCESS DENIEDError

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

此后它开始工作了。

在我的例子中, bas_daemonbas_helper正在使用这个地址,这两个地址都对应于MOBOROBO

在终端中键入./adb nodaemon server

如果它Invalid content in adb_usb.ini返回Invalid content in adb_usb.ini ,则说明.android文件夹中的adb_usb.ini文件存在问题。

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

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

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

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

运行以下命令:

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

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

在我使用三星Galaxy S III手机(遵循xda-developer论坛指南)之前,这并没有开始发生。

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

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

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

Linux/Ubuntu 用户也可能是这种情况......我有一个 android 模拟器正在运行,我不得不杀死它。 为此,请执行以下操作

lsof -i :5307

(如果需要,请使用 sudo)注意上述命令结果中的 pid。 然后

kill -9 <pid_from_above>

然后继续

adb shell

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM