20

运行 Vista,尝试adb以管理员身份从 shell 启动得到守护进程未运行现在启动它

ADB server didn't ACK
* failed to start daemon *

对此有什么帮助吗?

4

21 回答 21

26

这个问题困扰了我很久。除了上述答案之外,请使用以下提示:

  • 使用以下内容创建一个 bat 文件并运行它。这个 bat 文件将解决您的大部分 adb 问题。

tskill亚行

光盘\工具\

adb 杀死服务器

adb 启动服务器

ddms

  • 使用命令netstat监控连接状态(adb使用5037)

  • 如果 bat 文件不起作用,请尝试:disconnect-reboot phone-connect。(提示:如果 adb 有响应,则使用 `adb reboot',如果没有,则使用老式方法)

  • 有时 Windows 可能很有趣。重新启动机器。

  • 打开 USB 调试模式

    • 下载Android SDK并解压
    • 从设备管理器中卸载所有“Android *”
    • 从控制面板执行“添加硬件”,选择“安装硬件...(高级)”
    • 选择“Android USB 设备”并单击“下一步”
    • 点击“从磁盘安装”,输入SDK解压的路径
  • 还是行不通 ?将手机恢复出厂设置。

  • MTP 检测延迟 ADB。有时,如果需要启动时间日志,您可能必须在设备管理器 (Windows) 中禁用 MTP 驱动程序


当您收到错误时,这是​​一个出色的 adb补丁:

adb 连接错误:一个现有的连接被远程强行关闭“

于 2011-01-07T03:02:51.767 回答
15

我无法使用亚行。我在命令行和eclipse中都收到了以下错误。

* daemon not running. starting it now on port 5037 *
ADB server didn't ACK<br>
* failed to start daemon *

也就是说,adb start-server即使在重新启动后也失败了。为了诊断问题,我发现您可以使用以下参数运行 adb:

adb nodaemon server

并且会打印出无法运行的原因。就我而言,它是adb_usb.ini文件中的空白行。

于 2011-08-29T20:47:30.597 回答
9

您可能adb在内存中保留了守护进程的副本。尝试使用任务管理器将其删除,或重新启动,看看是否有帮助。

于 2010-02-21T18:14:44.483 回答
9

适用于使用 Android Studio 和 MAC 的用户。这对我有用:

  1. 在 Android Studio 中:工具 -> Android -> 取消选中“启用 ADB 集成”
  2. 在终端:“adb kill-server”
  3. 在 Android Studio 中:工具 -> Android -> 选中“启用 ADB 集成”
  4. 在终端中:“adb start-server”
于 2014-11-05T20:27:58.707 回答
6

最佳答案是特定于 Windows 的,但这具有相当多的 Google 可见性,因此如果您正在运行类似 *nix 的机器(我在 Mac 上),步骤类似:

$ killall adb
$ cd <PATH_TO_SDK>/platform-tools/
$ adb kill-server
$ adb start-server

或者,如果您像我一样只想访问 adb 无论您当前的目录如何,请添加

export PATH=${PATH}:<PATH_TO_SDK>/platform-tools/

到你的~/.bash_profile.

于 2012-12-12T21:30:09.630 回答
4

> killall adb

> adb start-server

重新启动 Eclipse。

基本上 adb 正在您机器上的另一个进程上运行,您需要杀死它,然后再次启动守护进程,因为它们都试图绑定到同一个端口(:5037)。就我而言,我打开了另一个窗口:5037,然后忘记了它。想知道为什么我不能像往常一样停下来开始。通过“killall”,您可以确保终止所有进程。您还可以进入 CPU 的进程并强制退出。

于 2014-02-01T22:13:00.527 回答
3

1.$ apt-get 删除 android-tools-adb

2.$ cd $PATH_TO_SDK/平台工具/

3.$ ./adb 设备

你会看到这样的:

  • 守护进程没有运行。现在在端口 5037 上启动它 * 无法绑定 'tcp:5037' ADB 服务器没有确认 * 无法启动守护进程 *

那显示什么错误。

现在你重置你的电脑,它会很好。

或者

# lsof -i:5037

COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME

wineserve 3609 root 268u IPv4 20118 0t0 TCP localhost:5037 (LISTEN)

# 

您将知道哪些软件使用该端口。

于 2013-10-31T08:24:36.150 回答
2
adb nodaemon server

有帮助。在我的例子中,我编辑了 ~/.android/adb_usb.ini,并在末尾添加了 0x1949 以在 Kindle Fire 上启用调试。可悲的是,它无法处理我在 0x1949 之后输入的换行符

于 2012-02-28T19:04:04.020 回答
2

为避免这种情况,只需更改 host_config.xml 中的以下值:

<!-- Number of tests executed between reboots. A value <= 0 disables reboots. -->
<IntValue name="maxTestCount" value="10000" />
<!-- Max size [tests] for a package to be run in batch mode. -->
<IntValue name="maxTestsInBatchMode" value="100000" />

<!-- Max time [ms] between test status updates. -->
<IntValue name="testStatusTimeoutMs" value="600000" />
于 2011-08-31T19:09:20.403 回答
1

我有同样的问题。我不正确地编辑了我的 adb_usb.ini 文件(我在文件末尾有两个回车......是的,这很难找到。)

该文件位于类似于 /Users/{user-name}/.android/adb_usb.ini 的位置

(将 {user-name} 替换为您自己的用户名)

确保文件完全读取(前后没有空格/回车/换行符):

'#ANDROID 3RD PARTY USB 供应商 ID 列表 -- 请勿编辑。"
'# 使用 'android update adb' 生成。"
'# 每行 1 个 USB 供应商 ID。”

(重要!!!实际文件中没有 ' (撇号),这是我发布此内容的唯一方法,而不会将 # 解释为 BOLD)。


希望对某人有所帮助

于 2013-09-09T04:42:34.127 回答
1

如果您使用的是 Android Studio,如果

  • 您打开了“设备选择器”对话框
  • 您尝试从命令行运行“adb devices”

每次都会导致以下错误

adb server is out of date.  killing...
cannot bind 'tcp:5037'
ADB server didn't ACK
* failed to start daemon *
error:

解决方案(简单快捷)

关闭“设备选择器”对话框。我的猜测是它试图以一种非常密集的方式接管 adb 连接

于 2014-10-29T16:20:25.327 回答
1

我正面临Genymotion的这个问题,所以我adb用我当前的adb. 以供参考:

cd $GENYMOTION_HOME\tools
mv adb adb-old
ln -s $ANDROID_SDK\platform-tools\adb adb
于 2016-03-29T12:16:50.197 回答
0

还有另一种可能。如果您安装了任何权限管理器,例如 Advanced android 权限管理器,adb 可能会失败。这是我的情况。卸载了应用程序,然后没有问题。

于 2015-05-15T18:11:19.800 回答
0

在控制台中,尝试:

taskkill /F /T /IM adb.exe

这样做很多次,直到它说ERROR: The process "adb.exe" not found. Then

adb devices
于 2016-12-01T14:36:42.260 回答
0

打开命令 导航您的 adb.exe 文件 到达命令 adb kill-server adb start-server 上的文件

于 2017-03-01T22:28:42.327 回答
0

看起来是一样的,但有时,命令 adb kill-server 没有效果(至少在我的情况下)。所以,我尝试了其他方式。

你可以这样检查:https ://stackoverflow.com/a/34627522/5597864

于 2016-01-06T07:15:39.957 回答
0

当它还说它adb server is out of date. killing...会为您杀死它时。问题是它一旦被杀死就会重新启动。

所以你应该考虑找到adb.exe它可能在的任何地方。最简单的方法是打开一个Task Manager,找到一个adb.exe进程 -> RMB-> Open file location-> 从那里删除它。除非不需要它,否则在这种情况下您应该更新它。就我而言,它C:\Windows\与他们的 Visual Studio 一起出现。

于 2018-01-15T19:39:47.680 回答
0

如果您遇到错误cannot bind 'tcp:5037'并且您使用的是任何 Linux 发行版,例如 Ubuntu,

杀死旧的 ADB 进程:

fuser -n tcp -k 5037

这将杀死端口 5037 处的 adb 进程,然后,

启动亚行:

adb start-server
于 2018-04-19T08:55:04.890 回答
0

通常这里给出的答案对我有用,但今天他们没有。通过从 SDK 管理器将模拟器和 SDK 更新到最新版本,我的问题得到了解决。

于 2019-06-20T10:15:24.590 回答
0

adb 服务器未运行。您可以在 Windows 中打开命令行窗口查看哪个进程正在使用 5037 端口,记住进程号。

netstat -ano |findstr "5037"

然后使用Ctrl+alt+delete打开进程管理器,杀死占有5037端口的进程。您可能需要多次尝试,直到 5037 端口可以免费使用。

于 2016-12-07T12:29:19.903 回答
-1

在 Mac 或 Unix 上

对于那些使用 Mac 或 Unix 来到这里的人,以下内容对我有用:

adb kill-server
adb server
于 2014-03-03T01:48:12.903 回答