我无法运行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
,我会得到相同的结果。
答案 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
希望有用