引言:
通常在使用Eclipse进行Android应用开发的时候,我们可以使用Eclipse自带的工具来完成调试和查看输出日志的操作,但是假如在当前电脑并没有配置适用于Android开发的Eclipse版本的情况下,想要查看Android设备运行应用或者游戏时的实时输出日志,可以直接借助Android调试工具 adb
来完成。
adb简介:
adb
全称是 Android Debug Bridge
,即安卓调试工具。
adb配置:
与其说是安装 adb
,更准确的描述应该是解压和配置。先下载 adb工具包,然后加压得到一个 adb
文件夹,包含文件如下:
| adb
| --- adb.exe
| --- AdbWinApi.dll
| --- AdbWinUsbApi.dll
| --- fastboot.exe
为了可以全局使用 adb
工具,我们可以用两种方式来实现配置操作:
方法一:配置环境变量
直接将 adb
文件夹的目录添加到系统环境变量 Path
中,操作步骤:我的电脑
-> 属性
-> 高级系统设置
->环境变量
:
方法二:复制到系统文件目录
将 adb
工具包的四个文件都复制到 C:\Windows\System32
目录里。
- 报错:
这是网上推荐的方式之一,但是我尝试之后发现并不能正常使用,在cmd窗口输入adb
还报错 “无法启动此程序,因为计算机中丢失 AdbWinApi.dll。尝试重新安装该程序解决此问题。” - 解决:
原来,这个配置过程跟系统的位数有关,假如系统是32位的,则将四个文件都复制到C:\Windows\System32
目录里即可。但是,假如使用的Windows系统是64位的,则需要将其中的AdbWinApi.dll
文件复制到C:\Windows\SysWOW64
里,这样就一切正常了。
常用操作:
1.查询版本:
打开cmd窗口,定位到 adb.exe
所在的文件目录,然后输入版号查询指令:
shell
E:\java web\tools\adb>adb -v
Android Debug Bridge version 1.0.26
2.启动和关闭:
- 启动:
adb start-server
- 关闭:
adb kill-server
3.查询连接设备列表:
注意使用前先确保手机的USB调试功能是打开的状态。
设置
->开发者选项
->USB调试
(勾选)
在cmd窗口输入 adb devices
查询设备列表:
C:\Users\Administrator>adb devices
List of devices attached
622123171690109874 device
- 问题:
假如在设备管理器中看到设备已经连接上:计算机管理
->设备管理
->Android Phone
->Android Composite ADB Interface
->右键属性
->详细信息
但是,adb
查询结果发现列表却是空的:
C:\Users\Administrator>adb devices
adb server is out of date. killing...
* daemon started successfully *
List of devices attached
- 解决:
打开C:\Users\Administrator\.android
目录,修改或新建一个adb_usb.ini
文件,填写内容为:0x[VID]
这里
[VID]
其实是硬件的id
,对应的其实就是上面计算机设备管理中的USB\VID_2C73&PID_7029&REV_FFFF&MI_01
中VID_
后面紧跟着的4位数字,这里是 “2C73”,故最终adb_usb.ini
文件的内容是:0x2C73
然而,又出现了如下错误:
C:\Users\Administrator>adb devices
List of devices attached
622123171690109874 offline
网上资料说是由于:谷歌在 “Android 4.2.2“ 以后加入了验证,需要配合使用最新的ADB工具。这里我重新下载了 “adb 1.0.32“ 再尝试查询设备列表即正常了:
F:\android-sdk\platform-tools>adb -v Android Debug Bridge version 1.0.32 F:\android-sdk\platform-tools>adb devices adb server is out of date. killing... * daemon started successfully * List of devices attached 622123171690109874 device
下面步骤都是在查询设备指令运行正常的前提下进行的,否则无法正常使用。
3.打印日志:
命令 | 说明 | 备注 |
adb logcat | 打印log | / |
adb logcat -c | 清除手机的log buffer | 有些手机权限控制, 不支持. |
adb logcat -b | 打印指定buffer的log信息 | buffer有: main(主log区,默认), events(事件相关的log), radio(射频, telephony相关的log) |
adb logcat -v | 格式化输出log | 常用的用adb logcat -v time显示时间 |
adb logcat -f | 输出log到指定文件 | |
4.安装/卸载 apk:
- 安装:(安装apk时指定apk file路径)
adb install (.apk的目录)
- 卸载:(卸载apk时指定包名)
adb uninstall (apk的包名(xx.xx.com))
通常直接有两种方式来查看 logcat
日志:
- 实时cmd窗口输出:
adb logcat
- 写入到指定日志输出文件:
adb logcat -d >logcat.txt
- 会在当前目录下生成一个
logcat.txt
日志文件。
5.进入设备的 shell 界面:
adb shell
小结:
总说高级的程序员就要做到脱离UI界面的编程模式,所以像这样直接使用cmd窗口来操作使用类似 adb
这样工具,从而完成我们功能需求,是不是看起来有点厉害的感觉呢。
参考资料:
- Android adb你真的会用吗?
- cmd连接android手机,并使用logcat输出的log信息
- 安卓adb工具的安装方法
- adb devices 检测不到真机问题的解决方案