近期遇到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>taskkill /pid 5456
错误: 无法终止 PID 为 5456 的进程。原因: 只能强行终止这个进程(带 /F 选项)。E:\android-SDK-4.2\android-sdk\platform-tools>taskkill /pid 5456 /f成功: 已终止 PID 为 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

参考路径:http://www.cnblogs.com/qiuzhiwuzhe/p/6122640.html

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐