adb会绑定到TCP端口5037,如果该端口已被其他进程占用,您可能会发现任何adb命令都无法执行并且一直处于挂起状态。
netstat: illegal option -- o
的错误信息。 - Mattadb
进程在监听5037端口。我将它们都杀掉后,重新运行了adb devices
命令。命令重新运行了ADB守护进程,之后一切正常。 - undefinedlsof -i tcp:5037
命令来查看使用该端口的进程。 - undefined我也遇到了类似的问题,我的Android驱动程序没有正确安装。
您需要安装Google USB驱动程序,然后:
进入控制面板主页
点击“设备管理器”链接。
完整教程在此处:http://visualgdb.com/KB/usbdebug-manual/ 希望能解决您的问题!
就像@par所说的那样,要终止进程,只需查看它们的PID号码,然后使用“taskkill /PID(它们的pid)/f”来杀死它们,并在那里放置PID号码,/f是强制终止。
尝试:
Step1: Open android studio.
Step2: Choose Android device monitor.
Step3: At the device window: choose triangle icon then choose reset adb. (Try to repeat 2-3 times if it is not show some devices)
对我有效的方法是杀死服务器,然后重新启动。
虽然需要一点时间,但每次都有效。
杀死命令adb kill-server
启动命令adb start-server
杀死命令可能需要一分钟左右,但它会起作用。
之后,您可以运行其他adb命令。
除了检查更新的USB驱动程序之外...
在Windows中,当使用带有硬盘和/或其他输入设备的USB集线器时,我遇到了卡顿的情况。根据我的特定硬件设置,要么我的USB硬件很差(也许是我的最新USB集线器很差),要么USB控制器的USB驱动程序很差,或者我只是遇到了Windows平台上USB的一些自然限制(至少在与Android硬件在Windows上的相关性方面如此)。
编辑:我特别提到了USB3。我还插了一个USB3非电源集线器到一个USB2端口——该端口连接我的鼠标、一个硬盘和我的Android设备——我后来不得不重新考虑什么插在哪里以确保adb正常工作。
最后一个有用的Windows提示是,如果您已经连续几天或几周没有重启,请重新启动并开始全新的操作,当然,Windows更新(通常不会影响我的Android硬件工作)。这样做可以解决其他应用程序使用端口5037的问题(如@par所述)。
当我尝试批量执行多个“adb pull”命令时,我也遇到了问题。我一直在努力设置一个选择性拉取文件夹列表的方案,这些文件夹没有嵌套,因此我知道不能只用一个命令拉取(这是我的自定义备份解决方案的一部分)。有时我发现我必须一次拉一个文件夹。这更可能与我的USB问题有关,而不是adb问题。
编辑:根据您使用的Win10版本,您可能需要通过设备管理器手动启动驱动程序更新检查。最近我就是通过这种方式成功更新了Android驱动程序。到目前为止,通过重新考虑插入位置和进行更新,情况最近略有改善。