在使用adb的时候可能会遇到下列错误。
could not read ok from ADB Server && unable to run 'adb':null
等等。
解决方法大约有四:
第一个:查杀与5037有关的进程,并关闭。
第二个:统一电脑内所有adb版本,这点再看stackflow看到的。建议是能删除的都删除,仅留一个版本的adb
第三个:将adb所在文件夹的adb.exe,AdbWinApi.dll 和 AdbWinUsbApi.dll 复制到 C:\Windows\SysWOW64 或者 C:\Windows\System32
第四个:将电脑防火墙关闭。
我遇到的情况是 win10 + AdroidStudio 3.2
在杀掉所有与5037有关的进程后,adb strart-server 没有任何错误,能够顺利启动,此时adb kill-server也能够顺利关闭。
错误发生在adb devices指令。
>adb start-server
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
>adb devices
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
ADB server didn't ACK
* failed to start daemon *
error: cannot connect to daemon
此时使用
adb nodaemon server
查看当前占用5037端口号的进程,发现又被占用,
关闭win10防火墙,重新启动adb服务顺利解决。
此时再次打开防火墙,adb也能正常工作。