欢迎各位兄弟 发布技术文章
这里的技术是共享的
近日在命令行中使用adb命令时老是会提示 error: unknown host service的错误, 以前一直是正常的,从未出过问题。网上搜索一番后说是豌豆荚、腾讯手机助手及一些刷机工具在后台运行占用了5037端口引起的,但是我电脑上根本没装这类软件。 最后通过任务管理器发现可疑的tabd.exe进程。网上一搜,发现这竟然是QQ里面的进程,我也猛然醒悟前几天QQ自动更新了模块。果断结束掉该进程,再在命令行中使用adb命令连接手机,一切恢复正常! 所以,如果你近日发现电脑无法连接手机,或者某个软件连接不上手机,那么一定要进任务管理器看看是否有tadb.exe在后台运行。 tadb.exe很顽固,一旦你的手机连接电脑它就会自动启动。当然QQ会在电脑的右下方弹出一个连接提示。我很想禁止它自动连接手机,可惜死活找不到在 哪里设置,感觉有人耍流氓了。 2013-11-11日更新: 这里贴上辨别电脑的5037端口被哪个应用程序占用的方法: 1. 打开命令行,输入命令:netstat -ano | findstr "5037" | 本帖最后由 独行无疆 于 2013-11-11 14:48 编辑
问题现象:
[plain] view plaincopy
1. C:\Users\John>adb shell
2. adb server is out of date. killing...
3. ADB server didn't ACK
4. * failed to start daemon *
5. error: unknown host service
执行以下命令排查问题
1. C:\Users\xxxx>adb nodaemon server
2. cannot bind 'tcp:5037'
原来adb server 端口绑定失败
继续查看到底是哪个端口给占用了
[html] view plaincopy
1. C:\Users\xxxxxx>netstat -ano | findstr "5037"
2. TCP 127.0.0.1:5037 0.0.0.0:0 LISTENING 4236
3. TCP 127.0.0.1:5037 127.0.0.1:49422 ESTABLISHED 4236
4. TCP 127.0.0.1:49422 127.0.0.1:5037 ESTABLISHED 3840
2、找到相关的 PID ,然后查看其名字,干掉即可。
[plain] view plaincopy
1. C:\Users\John>tasklist /fi "pid eq 5084
2.
3. 映像名称 PID 会话名 会话# 内存使用
4. ========================= ======== ================ =========== ============
5. wandoujia2.exe 5048 Console 1 108,240 K
OK,干掉这个进程一般能搞定这个问题,感谢原文作者。
二、adb devices 列表里含有之前的连接的手机或者手机模拟器信息,请到任务管理器里杀掉adb.exe,然后重新运行即可。
参考链接:
http://blog.csdn.net/johnnycode/article/details/7678083
http://blog.csdn.net/id19870510/article/details/8489486