adb无法启动守护进程,CreateProcess失败,错误2

时间:2014-10-29 22:05:35

标签: android adb

我无法运行adb root或任何adb命令。我收到以下错误。我设置ADB_TRACE=1

C:\WINDOWS\system32>adb root
system/core/adb/adb.c::main():Handling commandline()
system/core/adb/adb_client.c::_adb_connect():_adb_connect: host:version
system/core/adb/sysdeps_win32.c::socket_loopback_client():socket_loopback_client: could not connect
to tcp:5037
system/core/adb/adb_client.c::adb_connect():adb_connect: service root:
* daemon not running. starting it now on port 5037 *
CreateProcess failure, error 2
* failed to start daemon *
error: cannot connect to daemon

我使用的是Windows 7。

来自netstat -a我没有看到任何其他使用端口5037.当我运行adb时,我发现adb会暂时显示在任务管理器上,但随后它就会消失。 Windows防火墙已关闭。如果我以管理员身份运行cmd,我会得到相同的结果。

7 个答案:

答案 0 :(得分:3)

您需要确保所有开发工具都使用相同版本的adb

一种简单的方法是以管理员身份打开Command Prompt窗口并运行这两个命令来删除所有副本:

taskkill /f /im adb.exe
for %a in ("%systemroot%" "%userprofile%" "%path:;=";"%") do @del /q /f /s "%~a\adb.exe" "%~a\adbwinapi.dll" "%~a\adbwinusbapi.dll" 2>nul

然后从SDK Manager重新安装最新版本的platform-tools软件包,或者手动将软件包文件(检查adb info page链接)解压缩到%ANDROID_SDK_HOME%文件夹中。 / p>

还要确保%ANDROID_SDK_HOME%\platform-tools中包含%PATH%文件夹。

答案 1 :(得分:2)

我很久以前就解决了这个问题,但没有更新这个问题。

我遇到了这个问题,因为我运行的是不正确的adb可执行文件。我在C:\Windows\system32中有一个可执行文件,在另一个目录中有另一个可执行文件。 C:\Windows\system32中的版本没有adb所需的所有文件,而另一个目录中的版本没有。我不确定这些文件是什么,但adb可执行文件在两个目录中都是相同的版本。由于C:Windows\system32首先在PATH中,因此首先执行该版本。我从Windows目录中删除了adb,问题就消失了。

答案 2 :(得分:0)

我遇到了同样的问题,要解决它,我已经在SDK管理器上卸载了Platform-tools软件包 - > SDK工具并重新安装它。 现在,它正常工作。

答案 3 :(得分:0)

我只是通过转到任务管理器并杀死所有adb来解决此问题,然后它就像一个咒语一样工作。

答案 4 :(得分:-1)

我通过访问实际的platform-tools目录解决了这个问题。

默认路径为C:\ Users [youruser] \ AppData \ Local \ Android \ sdk \ platform-tools

显然除非你改到那个目录,否则它不会启动。

答案 5 :(得分:-2)

您可以尝试此解决方案:将 adb.exe adbwinapi.dll 移至X:\Windows\system

它对我有用

答案 6 :(得分:-3)

我遇到了同样的问题,顺便说一句,我使用的是win7 64bit。

像这样解决了: 将adb.exe和adbwinapi.dll移动到X:\ Windows \ SysWOW64

希望有用