近期遇到AS连接手机运行时 ADB检测不到:
搜集了一些原因:
1.手机设置问题。开USB调试 方法: 手机设置 - 开发人员选项 - USB调试 - 勾选(开发者调试被隐藏了,在关于手机中连续点击版本号N次即可)
2.排除掉硬件问题,usb端口不能使用,数据线问题
3.使用的SDK版本号要与自己手机的保持一致,保证手机的兼容性
4.排除以上部分,还有一种可能,就是ADB端口被占用了,我的就是这种情况,
解决方法:
1. 首先通过CMD启动adb服务。这个时候会提示启动失败。
E:\android-SDK-4.2\android-sdk\platform-tools>adb start-server
adb server is out of date. killing... ADB server didn't ACK * failed to start daemon *
2. 服务启动失败的原因有很多,但一般是端口绑定失败。我们来查看一下端口绑定信息。如图所示,真的是端口绑定出了问题。
E:\android-SDK-4.2\android-sdk\platform-tools>adb nodaemon server 出现cannot bind 'tcp:5037'时是端口绑定失败,则继续查看到底是哪个端口给占用了
3. 我们来看看哪个服务占用了这个端口。这里面有2个进程占用了这个端口。
E:\android-SDK-4.2\android-sdk\platform-tools>netstat -ano | findstr "5037"
TCP 127.0.0.1:5037 0.0.0.0:0 LISTENING 5456
TCP 127.0.0.1:5037 127.0.0.1:1221 TIME_WAIT 0
TCP 127.0.0.1:5037 127.0.0.1:1222 TIME_WAIT 0
解决方法:先找到adb服务是否绑定端口出现问题,如果真的是绑定端口出现问题,找出该端口被哪个进程占据,最后杀掉这个进程。
4.继续执行运行tasklist 查看列表pid为5456的进程(或者直接打开任务管理器在进程中找到PID为5456的进程,结束掉即可。有些软件屏蔽了任务管理器,下面上传一个reg注册表,可以把一些软件屏蔽的任务管理器调出来)
E:\android-SDK-4.2\android-sdk\platform-tools>tasklist
5.在控制台下杀死在5456端口监听的进程
E:\android-SDK-4.2\android-sdk\platform-tools>netstat -ano | findstr "5037"
E:\android-SDK-4.2\android-sdk\platform-tools>adb nodaemon server
有些流氓软件关不掉直接卸载。
任务管理器解决办法下载地址:http://download.csdn.net/detail/m000000l/9712119