Android Studio 错误:无法连接到守护进程

Posted

技术标签:

【中文标题】Android Studio 错误:无法连接到守护进程【英文标题】:Android Studio error: cannot connect to daemon 【发布时间】:2021-11-08 02:02:15 【问题描述】:

我已经使用 AS 几个月了,但是两天后我在尝试运行我的应用时遇到错误:

Unable to run 'adb': null
'C:\Users\lapof\AppData\Local\android\Sdk\platform-tools\adb.exe start-server' failed -- run manually if necessary
* daemon not running; starting now at tcp:5037
could not read ok from ADB Server
* failed to start daemon
error: cannot connect to daemon

我读过很多人遇到这个问题,但提供的解决方案对我不起作用。我特别阅读了这些问题:

Daemon not running. Starting it now on port 5037 Android ADB - Daemon still not running How to resolve the "ADB server didn't ACK" error? Eclipse error "ADB server didn't ACK, failed to start daemon" Adb won't start How to resolve the "ADB server didn't ACK" error? Daemon not running. starting it now on port 5037 * Cannot open 'nul': The system cannot find the file specified

这些问题的很多答案都说要从任务管理器关闭 adb.exe,问题是 adb.exe 没有运行,如果我尝试通过在 PowerShell 窗口上键入 .\adb start-server 重新启动它,我会得到相同的结果错误。

我也尝试重新启动我的电脑,但没有成功。 在我尝试连接的 Android 设备(三星 Galaxy S8)上,我启用了 USB 调试。我什至尝试删除所有授权设备,但没有任何效果。

我检查了 5037 端口是否被其他进程使用,但它被 adb.exe 使用(并且该端口上的防火墙状态是允许且不受限制的)。顺便说一句,正如我所说,在任务管理器中 adb.exe 不存在。

最后我尝试按照我链接的最后一个问题中提供的说明进行操作(基本上我重新下载了 adb.exe)。 最初我跑了.\adb start-server,然后出现了这个奇怪的错误:

* daemon not running. starting it now on port 5037 *
* daemon started successfully *
** daemon still not running
error: cannot connect to daemon

然后当我尝试在 Android Studio 上运行我的应用程序时,它会在尝试启动 adb 时出现这个新错误:

Unable to run 'adb': null
'C:\Users\lapof\AppData\Local\Android\Sdk\platform-tools\adb.exe start-server' failed -- run manually if necessary
ADB server didn't ACK
* failed to start daemon *

然后如果我尝试.\adb kill-server 然后.\adb start-server.\adb devices.\adb usb 再次发生相同的错误。 此外,当我现在连接我的设备时,它会要求我授权我的电脑进行连接。

我不知道这是否有帮助,但最近我停用了很多 Windows 服务(但我认为我没有停用与 Android Studio 相关的东西)。


详情

PC:康柏 PC 操作系统:Windows 10 家庭版 设备:三星 Galaxy S8 (Exynos) 设备操作系统:Android 8.0 AS 版本:3.0.1

【问题讨论】:

你授权USB调试了吗?? @MartinZeitler 是的 我怀疑它已经运行了,可能是因为安装了 Genemotion stop-server & start-server 普通帮助;还要确保没有本地防火墙阻止默认端口tcp:5555 Start > All Programs > Accessories > System Tools > Resource Monitor > Network > Listening Ports 可用于查看端口是否已被任何其他应用程序使用。 @MartinZeitler 我不使用 Genymotion(我的旧电脑不支持模拟器 :( )。为什么端口 5555 很重要?不是 adb 使用 5037 吗? 【参考方案1】:

对我有用的解决方案 -

以管理员身份打开命令提示符并输入

adb start-server

就是这样

【讨论】:

我们应该在这之后重新启动 AS 吗?【参考方案2】:

我刚才遇到了同样的问题。我解决了:

管理员身份运行CMD

在 CMD 中输入adb devices

我的输出是:

C:\WINDOWS\system32>adb devices
List of devices attached
* daemon not running; starting now at tcp:5037
* daemon started successfully
P9BCS87ABS9SCD5 device

【讨论】:

'adb' 不是内部或外部命令、可运行程序或批处理文件。如何处理这个 @KusumakarPant 要么将 adb 添加到路径中,要么使用完整路径 谢谢,这解决了它,请注意,一旦启动守护进程,即使在非管理控制台上它也可以工作 这是一个有趣的技巧;)我的是版本不匹配错误。它在这个命令之后杀死并启动 我在运行上面的命令时遇到了这个错误,你能帮忙吗? * 守护进程未运行;从现在开始 tcp:5037 无法从 ADB 服务器读取 ok * 无法启动守护进程 adb.exe:无法检查服务器版本:无法连接到守护进程【参考方案3】:

我自己解决了这个问题。

出于沮丧,我打开了Control Panel > System and security > Windows defender firewall > Allowed applications,并添加了 adb.exe(私有网络和公共网络)。

我回到 Android Studio,运行应用程序,神奇地成功初始化了 ADB,我通过 USB 连接的手机就在那里。

我真的不知道为什么会这样,因为当我签入Start > All Programs > Accessories > System Tools > Resource Monitor > Network > Listening Port 时,它说在端口 5037 上允许防火墙。

此外,我不知道为什么一周前一切正常,而现在我必须执行此过程才能使其正常工作。

如果更有经验的人设法更好地解释这种行为,我会更新这个答案(或接受他作为最佳答案)

【讨论】:

【参考方案4】:

以管理员身份运行 CMD 或 PowerShell

然后运行以下命令:

net stop winnat

在正确的文件夹中运行:

adb start-server
net stop winnat

【讨论】:

【参考方案5】:

我的情况 最新的平台是版本 30.0.3。我也有同样的问题:

* daemon not running. starting it now on port 5037 *
* daemon started successfully * 

我的解决方案

第一步:下载平台工具28.0.1版本:https://developer.android.com/studio/releases/platform-tools#2801_september_2018 第 2 步:删除平台工具:转到 SDK 管理器 -> SDK 工具 取消选中“Android SDK 平台 - 工具” 点击应用 第 3 步:转到文件夹 android -> SDK 并传递新的平台工具 第 4 步:ADB 设备。 然后它对我有用。

【讨论】:

【参考方案6】:
    SDK 管理器 -> SDK 工具 取消选中“Android SDK 平台 - 工具” 点击应用

【讨论】:

这只是为我删除了 adb。这不是要遵循的解决方案。重新安装后,连接确实有效。 谢谢,这是唯一对我有用的解决方案(重新安装后)【参考方案7】:

以下解决方案解决了我的问题:

    转到您的任务管理器 查看adb 是否正在运行 右键单击并结束任务 转到命令提示符 运行adb devices

它会正常工作

【讨论】:

【参考方案8】:

在使用 Android Studio 和 Emulator 没有任何问题后,突然停止连接到 Emulator,甚至 adb 服务器正在运行(杀死和启动),为所有程序(adb.exe,qemu-system-x86_64. exe、studio64.exe 等),释放 5037 端口,卸载并重新安装程序,甚至从头开始安装整个 Android Studio。我的一切运行正常,但 AS 和 Emulator 之间没有连接。

我的问题的解决方案是运行 Android Studio AS ADMINISTRATOR,似乎当我将程序更新到 3.5.2 时,状态发生了某种变化,导致了我的问题。

【讨论】:

一年多前我遇到这个问题的时候,还没试过这个!可能是一个非常好的解决方案。幸运的是它没有再发生在我身上。【参考方案9】:

在所有 adb 未解决的情况下对我有用的方法:

adb kill-server

adb disconnect

我会两个都试一下,一个就可以了。

【讨论】:

【参考方案10】:

我多次遇到这个问题。看来如果系统启动时,通过USB线连接设备,守护进程将正确连接,不会出现问题。当然我想要一个更好的解决方案,因为我每次都很难关闭并重新启动。

【讨论】:

【参考方案11】:

一般是WinNAT服务引起的,重启解决问题。

只需以管理员身份打开命令提示符,然后在此处键入以下命令:

net stop winnat
net start winnat

【讨论】:

【参考方案12】:

升级到 Android Studio Bumblebee 后遇到同样的问题 | 2021.1.1

要解决它,请转到设置 -> 构建、执行、部署 -> 调试器

然后取消选中选项为无线调试器启用 adb mDNS

【讨论】:

以上是关于Android Studio 错误:无法连接到守护进程的主要内容,如果未能解决你的问题,请参考以下文章

Gradle 构建失败,出现错误“等待连接到 Grade 守护程序的超时”

android studio错误:无法启动守护程序进程

错误:无法在 http+docker://localhost 连接到 Docker 守护程序 - 它正在运行吗? [关闭]

无法连接到 Mac OS X 上的 Docker 守护程序

无法连接到 unix:///var/run/docker.sock 上的 Docker 守护程序。 docker 守护进程是不是正在运行?带有自托管运行器的 Gitlab Cloud CI/CD 错误

无法将 Android Studio 连接到我的手机或 Bluestacks