引言:

通常在使用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 中,操作步骤:我的电脑 -> 属性 -> 高级系统设置 -> 环境变量
Android调试工具adb的高逼格使用方式_第1张图片

方法二:复制到系统文件目录

adb 工具包的四个文件都复制到 C:\Windows\System32 目录里。

  • 报错:
    这是网上推荐的方式之一,但是我尝试之后发现并不能正常使用,在cmd窗口输入 adb 还报错 “无法启动此程序,因为计算机中丢失 AdbWinApi.dll。尝试重新安装该程序解决此问题。”
    Android调试工具adb的高逼格使用方式_第2张图片

  • 解决:
    原来,这个配置过程跟系统的位数有关,假如系统是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 devicesList of devices attached622123171690109874      device
  • 问题:
    假如在设备管理器中看到设备已经连接上:计算机管理 -> 设备管理 -> Android Phone -> Android Composite ADB Interface -> 右键属性 -> 详细信息
    Android调试工具adb的高逼格使用方式_第3张图片
    但是,adb 查询结果发现列表却是空的:

    C:\Users\Administrator>adb devicesadb 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_01VID_ 后面紧跟着的4位数字,这里是 “2C73”,故最终 adb_usb.ini 文件的内容是:0x2C73


然而,又出现了如下错误:
C:\Users\Administrator>adb devicesList of devices attached622123171690109874      offline
网上资料说是由于:谷歌在 “Android 4.2.2“ 以后加入了验证,需要配合使用最新的ADB工具。这里我重新下载了 “adb 1.0.32“ 再尝试查询设备列表即正常了:
F:\android-sdk\platform-tools>adb -vAndroid Debug Bridge version 1.0.32F:\android-sdk\platform-tools>adb devicesadb server is out of date.  killing...* daemon started successfully *List of devices attached622123171690109874      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 检测不到真机问题的解决方案

更多相关文章

  1. Android 学习笔记4---签名Android的执行文件
  2. 从Android设备获取实时截屏
  3. Android - 支持不同的设备 - 支持不同的语言
  4. Android之drawable和mipmap目录区别
  5. Android打包成jar文件方法总结
  6. Android 设备关闭实体按键
  7. android 应用程序包文件 (APK)
  8. 页面调用ADB操作Android设备

随机推荐

  1. Android 3.0 r1中文API文档(103) ―― In
  2. Android学习笔记之布局2
  3. android音频hal层简介
  4. 一个简单的中英文翻译词典学习(类似灵格斯
  5. Android 3.0 r1 API中文文档(105) ―― V
  6. Android 内核源代码交叉编译
  7. Flutter通过BasicMessageChannel实现Flut
  8. Android(安卓)SDK无法更新解决办法
  9. android editText 插入表情,或者是图片
  10. Android(安卓)JNI详述