关于Android的ADB(Android Debug Bridge)的几种错误说明

前言:Android调试中,adb工具必不可少,但是有时常常出现的错误,让我们手足无措,而各种问题的各种解决办法又是多种多样的,下面,根据几种真机情况,对ADB的几种错误进行终结和归纳,在Android调试前,把工具环境给弄清楚,那么,我们的工作将事半功倍。

ADB介绍:

其实,通过字面的意思,ADB:翻译过来就是Android Debug Bridge,中文意思就是安卓调试桥梁,是的,我们在调试的时候,总要有一个东西可以和android设备进行通信,这样,我们才能进行各种调试操作,另外,各种调试工具,各种助手,也都是通过ADB去连接的。它的强大,在android里面无人能匹啊,为什么这么说呢,你使用的很顺畅的各种手机助手,它们就是在这个工具上,加上一层壳,只不过把操作方式给提供便利了,但是其实原理还是一样的,也就是说,我使用adb,照样能完成助手上面的各种操作,但是前提是命令和android的目录结构你必须很熟悉,当然,手机驱动你也要装好。

Error 1:(环境变量没有配好)

我们第一次使用ADT这个东西的时候,由于谷歌给我们的东西不像Windows当中的安装包一样,如果你已经可以使用ADT了,那么你的水平也就不是一般的档次了,那么如果这个时候,在cmd下,提示找不到adb这个东西的时候,那你就应该知道你的adb环境变量没有配置好了。

Error 2:(error: more than one device and emulator)

一般情况下,如果你直接使用adb shell这个命令去进入设备的shell Terminal的时候,这个错误有可能会产生,为什么呢?

情况1:因为你连上了两个设备以上,而在进入shell的时候,没有指定进入哪个shell,所以会有这个提示。这个时候怎么办,使用-s选项,选择你的设备名,就可以正确的shell进去了,至于-s后面要跟啥,当然是跟你的设备名了,设备名查看:adb devices

情况2:使用网络adb连接后没有断开,再次连接,而这个时候ip改变了,这个时候,也相当于多个设备的连接。不过也不排除不断开的情况,设备名是:**.**.**.**:5555

Error 3:(Adb connection Error:远程主机强迫关闭了一个现有的连接)

这种情况,一般在windows下会出现,出现的原因,就是产生的线程太多了,windows自动断开了。那么,我们来看看一般的解释是如何的:Windows 环境下,adb 的一个限制,也可以说是 bug。当手机上同时运行的进程数大于 64 时, 就会引发 adb 奔溃。更深层次的原因,就是 Windows API 的 WaitForMultipleObjects 所支持的最大句柄数是 MAXIMUM_WAIT_OBJECTS,即 64。

解决办法:1、使用修改后的adb,如果你需要同时运行这么多进程的情况下。

    2、把adb重新reset一下(adb kill-server,adb start-server)

Error 4:(Segmetation Fault)

产生这个错误,有可能是这样的场景,当你使用网络adb方式去连接一台android设备,这个时候,已经有人连上了这个设备,然后,然后这个报错就错来了。

Error 5:(android设备的adb没有打开)

搞了半天,设备的adb开关没有打开,是的,高手往往会有如此容易的错误,所以不要计较,去打开了以后再用吧。

Error 6:(通信端口被占用)

如果你在使用ddms,或者eclipse的adt,或者是各种手机助手,那么注意了,adb这个时候容易被它们把端口给强占了,不要弄了半天,结果是自己误开了一个助手之类的软件造成的。

你可能感兴趣的:(测试总结)