Android 开发笔记 “android调试遇到ADB server didn't ACK以及顽固的sjk_daemon进程 ”
资源来源:http://blog.csdn.net/wangdong20/article/details/20839533
做Android调试的时候经常会遇到,程序写好了,准备接上手机调试,可不一会儿出现
相信做过android调试的同学都遇到过这个问题,网上说kill掉跟adb相关的进程,重启Eclipse
可是我在任务管理器上没有看到明显的adb进程,我们如何找到它们呢
首先,打开cmd,使用adb命令检查一下,最好是把adb命令的路径放在系统的path环境变量里,
用adb命令也会方便一些
通过CMD敲入:adb start-server启动adb服务。这个时候会提示启动失败。
服务启动失败的原因有很多,但一般是端口绑定失败。我们来查看一下端口绑定信息。如图所示,真的是端口绑定出了问题。
看来我们需要绑定的端口是5037,它被别的服务占用了,我们来看看是什么服务占用了5037端口
接着打开任务管理器,查看PID是4276的进程,有的时候任务管理器上PID不显示
我看可以点击查看点击选择列在PID那一栏打上勾
最后查看进程PID4276,找到最终的罪魁祸首
没错就是这个sjk_daemon.exe进程占据了5037端口,仔细查看原来是以前金山手机助手里面残留的
写到这里,难题才真正开始,在我试图关闭sjk_daemon.exe进程时,竟然显示
我明明关掉金山卫士了,还是不行(金山手机助手真是越来越流氓了)
最后我关掉了金山毒霸,sjk_daemon.exe这个进程才关掉,最后成功连上adb
没错,sjk_daemon.exe这个进程一开始我还以为是金山卫士开启的,原来这个顽固的进程是随金山毒霸一起打开的
大家遇到这种情况可以暂时关掉金山毒霸,等连接上之后再开启金山毒霸
今天记录下来引以为戒,不得不感慨android开发者的遭遇真是越来越悲惨了,
前有各种市场的围追堵截,后有各大开机必备软件争夺adb端口,我们真的是在夹缝中生存有木有啊