Android Please ensure that adb is correctly located at问题解决

来源:互联网 发布:辐射4 mac 下载 编辑:程序博客网 时间:2024/05/22 05:57

遇到问题描述:

运行android程序控制台输出

    [2015-10-8 11:18:26 - ] The connection to adb is down, and a severe error has occured.
    [2015-10-8 11:18:26 -  ] You must restart adb and Eclipse.
    [2015-10-8 11:18:26 -  ] Please ensure that adb is correctly located at 'D:\android\sdk\platform-tools\adb.exe' and can be executed.

 

adb概述(百度百科)

adb的全称为Android Debug Bridge,就是起到调试桥的作用。通过adb我们可以在Eclipse中方便通过DDMS来调试Android程序,说白了就是debug工具。adb的工作方式比较特殊,采用监听Socket TCP 5554等端口的方式让IDE和Qemu通讯,默认情况下adb会daemon相关的网络端口,所以当我们运行Eclipse时adb进程就会自动运行。
adb是android sdk里的一个工具, 用这个工具可以直接操作管理android模拟器或者真实的andriod设备(如G1手机).  它的主要功能有:
* 运行设备的shell(命令行)
* 管理模拟器或设备的端口映射
* 计算机和设备之间上传/下载文件
* 将本地apk软件安装至模拟器或android设备
ADB是一个 客户端-服务器端 程序, 其中客户端是你用来操作的电脑, 服务器端是android设备.

当你启动一个adb客户端,客户端首先确认是否已有一个adb服务进程在运行。如果没有,则启动服务进程。当服务器运行, adb服务器就会绑定本地的TCP端口5037并监听adb客户端发来的命令,—所有的adb客户端都是用端口 5037与adb服务器对话的.

 

1.  解决问题:

百度google大家多说的是任务管理器 kill掉adb 或者重启adb server,但我任务管理器就没有adb ,猜测是某个程序占用了adb端口。于是按此思路查找。

5037为adb默认端口 查看该端口情况如下:

       netstat -aon|findstr "5037"

      TCP    127.0.0.1:5037         0.0.0.0:0              LISTENING       6540

发现6540占用了 5037端口,继续查看6540的task,发现是kadb(酷狗的一个进程)  .如下所示

        tasklist|findstr "6540"

        kadb.exe          6540 Console                    1      4,276 K

接下来问题就好解决了,在任务管理器kill掉kadb.exe  .

2.重启eclipse,运行android项目,可以了。


总结问题:

adb端口被占用

使用 netstat -aon|findstr "5037"

   得出taskid

 tasklist|findstr "taskid"

找到占用进程并关闭

0 0
原创粉丝点击