在android程序调试过程中,如果其他程序占用了adb的端口,会使得adb无法启动,从而使android studio 无法与设备连接调试。接下来主要讲如何找到这个问题的。
首先在网上也找到相似的问题,发现出现这种问题都是由于装了“豌豆夹”这个软件造成的,所有有人直接把这个软件卸载掉,这样做不是说不行,
我觉得没有必要,只要找到相占用adb的进程kill掉就行啦,有的建议重启电脑,重启编译器这些方法都没有根本上的解决这个问题。
出现的问题如下。
- C:\Users\xxxx>adb start-server
- adb server is out of date. killing...
- ADB server didn't ACK
- * failed to start daemon *
adb 不管执行 shell devices 还是logcat 都会报错
究其源就是adb server没启动
原来adb server 端口绑定失败
[html]
view plain
copy
- adb server is out of date. killing...
到stackoverflow上查了一下 经过分析整理如下:
[html]
view plain
copy
- C:\Users\xxxx>adb nodaemon server
- cannot bind 'tcp:5037'
继续查看到底是哪个端口给占用了
[html]
view plain
copy
- C:\Users\xxxxxx>netstat -ano | findstr "5037"
- TCP 127.0.0.1:5037 0.0.0.0:0 LISTENING 4236
- TCP 127.0.0.1:5037 127.0.0.1:49422 ESTABLISHED 4236
- TCP 127.0.0.1:49422 127.0.0.1:5037 ESTABLISHED 3840
打开任务管理器kill掉4236 这个进程。ok
运行----cmd---tasklist,中查找相应的PID为4236的进程,kill掉就。