通过USB调试模式连接Android设备通常需要借助于ADB服务。
ADB全称Android DebugBridge, 是android sdk里的一个工具,用这个工具可以直接操作管理android模拟器或者真实的andriod设备。
adb.exe的主要功能有:
* 运行设备的shell(命令行)
* 管理模拟器或设备的端口映射
* 计算机和设备之间上传/下载文件
* 将本地apk软件安装至模拟器或android设备
需要注意的是adb.exe 是一个常驻的独占服务程序。
目前,针对Android手机研发的刷机软件和手机助手软件,都会调用Google开发的adb工具与手机进行通信。而这样一来就会导致这些软件之间的“不友好”,往往需要人为干预解决服务冲突的问题。
目前已知的同等ADB服务的进程如下:
豌豆荚: | 后台常驻adb服务为wandoujia_daemon.exe |
QQ音乐: | 后台常驻adb服务为tadb.exe |
腾讯管家: | 后台常驻adb服务为tadb.exe |
360刷机: | 后台常驻adb服务为360shuaji.exe |
金山毒霸: | 后台常驻adb服务为kxeconn.exe |
91助手: | 后台常驻adb服务为AndroidInterface.exe |
迅雷: | 后台常驻adb服务为adb.exe |
卓大师: | 后台常驻adb服务为adb.exe |
酷狗音乐: | 后台常驻adb服务为adb.exe |
…… |
|
如果你只是偶尔碰到检测设备失败问题,那么参照如下:
解决方法,如下步骤所示(以冲突程序tadb.exe为例):
1. 打开任务管理管理器
2.发现了进程是tadb.exe后请打开任务管理器(同时按住ctrl+alt+delete键),进入【进程】选项后点击该进程结束进程,
然后再打开你所使用工具即可。
说明:
有的后台服务,不仅常驻系统,而且当你结束掉该进程后,它会自行重新启动,烦不胜烦。
这种情况下,彻底的解决方法是卸载掉带有这样后台服务的软件,重新启动电脑。
如果你在使用ADT开发Android应用,遭遇连接问题,那么请参照如下:
配置AndroidADT可能会出现一下问题
Failed toinitialize Monitor Thread: Unable to establish loopback connection
ADB server didn't ACK
failed to start daemon *
… …
一般的解决办法:
dos下进入SDK目录下的tools目录,执行以下命令:
adb kill-server
adb start-server
现在常常不是因为SDK本身的adb服务异常卡住了,而是adb服务被占用了,被某个刷机软件和手机助手软件中的adb服务占用了。
会出现这样一类的异常:
为了解决这一类问题,可以自定义一个批处理脚本程序:
新建一个文本文件,粘贴以下代码:
@echo off
@cls
title Restart Adb Server process
Rem by wujiahai
color 0a
echo "End all of the probablemalicious processes!"
echo.
taskkill /f /im wandoujia_daemon.exe
taskkill /f /im tadb.exe
taskkill /f /im 360shuaji.exe
taskkill /f /im kxeconn.exe
taskkill /f /im AndroidInterface.exe
taskkill /f /im adb.exe
H:\IDE_Eclipses\adt-bundle\sdk\platform-tools\adb.exestart-server
echo.
tasklist /m adb*
echo.
tasklist|find /i "adb.exe" ||goto Final
echo.
echo "Now, Start ADT Bundle IDE"
cmd /c startH:\IDE_Eclipses\adt-bundle\eclipse\eclipse.exe
goto Final
:Final
echo.
echo "It's finished."
exit
保存文件,重命名为“启动ADT-Bundle.bat”,放在桌面或者某个位置,双击可运行。
以此运行来代替直接启动Eclipse,可以避免反复检查问题的麻烦。