博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android调试工具adb的高逼格使用方式
阅读量:7059 次
发布时间:2019-06-28

本文共 2649 字,大约阅读时间需要 8 分钟。

引言:

通常在使用Eclipse进行Android应用开发的时候,我们可以使用Eclipse自带的工具来完成调试和查看输出日志的操作,但是假如在当前电脑并没有配置适用于Android开发的Eclipse版本的情况下,想要查看Android设备运行应用或者游戏时的实时输出日志,可以直接借助Android调试工具 adb 来完成。

adb简介:

adb 全称是 Android Debug Bridge,即安卓调试工具。

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 devicesList of devices attached622123171690109874      device
  • 问题: 

    假如在设备管理器中看到设备已经连接上:计算机管理 -> 设备管理 -> Android Phone ->Android Composite ADB Interface -> 右键属性 -> 详细信息
    但是,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_01 中 VID_ 后面紧跟着的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 -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 这样工具,从而完成我们功能需求,是不是看起来有点厉害的感觉呢。

参考资料:

你可能感兴趣的文章
巨杉数据库中标东莞农商银行非结构化内容管理平台项目
查看>>
react全家桶
查看>>
助力深度学习!阿里开源可插拔 GPU 共享调度工具
查看>>
PAT A1096 质因子分解
查看>>
通信类
查看>>
一块GPU就能训练语义分割网络,百度PaddlePaddle是如何优化的?
查看>>
MongoDB
查看>>
S/4HANA生产订单增强WORKORDER_UPDATE方法BEFORE_UPDATE参数分析
查看>>
钱包应用程序
查看>>
tcpdump查看Nginx长连接还是短连接
查看>>
spring aop 之链式调用
查看>>
react生命周期
查看>>
聊聊flink TaskManager的memory大小设置
查看>>
JavaScript五十问——对比来说CSS的Grid与FlexBox(上篇)
查看>>
java Script 的if判断2
查看>>
dubbo源码解析(三十六)集群——configurator
查看>>
Spring MVC常用客户端参数接收方式
查看>>
你想让自己的产品像病毒一样疯传吗
查看>>
腾讯云发布runC容器逃逸漏洞修复公告
查看>>
MQ框架的比较
查看>>