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

Lap*_*apo 5 android adb android-studio

我已经使用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
Run Code Online (Sandbox Code Playgroud)

我读过很多人遇到此问题的信息,但是提供的解决方案对我不起作用。我特别阅读以下问题:

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

我也尝试重新启动我的PC,但是它不起作用。在我要连接的Android设备上(三星Galaxy S8),我启用了USB调试功能。我什至尝试删除所有授权的设备,但没有任何效果。

我检查了其他进程是否使用了5037端口,但adb.exe使用了5037端口(并且该端口的防火墙状态是允许的,但不受限制)。顺便说一句,正如我所说,在任务管理器中没有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
Run Code Online (Sandbox Code Playgroud)

然后,当我尝试在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 *
Run Code Online (Sandbox Code Playgroud)

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

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


细节

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

Jus*_*dow 25

通常这是由 WinNAT 服务引起的,重新启动即可解决问题。

只需以管理员身份打开命令提示符或 PowerShell,然后在其中键入以下命令:

net stop winnat
net start winnat
Run Code Online (Sandbox Code Playgroud)

稍等片刻,让 Android Studio 重新连接到 ADB。

PS 如果没有重新连接,只需键入以下命令重新启动 ADB:

adb kill-server
adb start-server
Run Code Online (Sandbox Code Playgroud)

  • 这对我有用!之后运行 adb devices,adb 服务器成功启动。 (3认同)

Pay*_*ati 13

对我有用的解决方案 -

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

adb start-server
Run Code Online (Sandbox Code Playgroud)

就是这样


Lap*_*apo 5

我自己解决了这个问题。

出于沮丧,我打开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 上允许防火墙。

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

如果更有经验的人能够更好地解释这种行为,我将更新此答案(或接受他的最佳答案)


can*_*stu 5

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

管理员身份运行CMD

输入adb devicesCMD。

对我来说输出是:

C:\WINDOWS\system32>adb devices
List of devices attached
* daemon not running; starting now at tcp:5037
* daemon started successfully
P9BCS87ABS9SCD5 device
Run Code Online (Sandbox Code Playgroud)

  • “adb”不被识别为内部或外部命令、可操作程序或批处理文件。如何处理这个问题 (2认同)

小智 5

以管理员身份运行 CMD 或 PowerShell

然后运行以下命令:

net stop winnat
Run Code Online (Sandbox Code Playgroud)

在正确的文件夹中运行:

adb start-server
Run Code Online (Sandbox Code Playgroud)
net stop winnat
Run Code Online (Sandbox Code Playgroud)


小智 5

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

  1. 转到您的任务管理器
  2. 看看是否adb正在运行
  3. 右键单击并结束任务
  4. 转到命令提示符
  5. 跑步adb devices

它会工作得很好