ADB安装与常用命令详解
一、ADB意义
adb的全称为Android Debug Bridge,就是起到调试桥的作用,也就是debug工具,通过它可以和android设备或模拟器通信。
二、ADB作用
借助adb工具,我们可以管理设备或手机模拟器的状态。还可以进行很多手机操作,如安装软件、系统升级、运行shell命令等等。其实简而言说,adb就是连接Android手机与PC端的桥梁,可以让用户在电脑上对手机进行全面的操作。
三、详解ADB安装与使用
下面会为大家介绍一下adb工具如何操作,并介绍几个常用命令以备日后测软件抓取log和操作方便使用
【软件需要】
1.下载adb工具包有如下两种方式:
(adb工具包主要包含4个文件adb.exe,AdbWinApi.dll,AdbWinUsbApi.dll,fastboot.exe)
- 下载Android SDK,adb文件位置如下
- 网上直接下载ADB工具包(推荐此方式)
2.Android相关手机驱动
注:为了方便已把adb工具包和驱动打包上传至百度云,点击下载使用 http://pan.baidu.com/s/1bnz3gOv
【软件安装】
步骤1:安装USB驱动
进入设置--开发者选项-USB调试,将第一个选项打钩选中。然后通过USB线连接电脑,提示安装驱动。
步骤2:软件准备
(这里教程使用的是第二种直接下载adb工具包的安装方式,如果使用第一种SDK安装,配置环境变量也是需要把SDK的路径下的platform-tools和tools的路径都配置到path下)
1) 将提供的软件工具包放置到任意盘中 如放到D盘目录下:
2) 为了可以直接方便快捷的进入adb目录下,可以配置下环境变量,步骤如下:
- 计算机点击右键--属性--高级系统设置--环境变量--找到变量名为path的--栏后点击编辑添加adb的根目录到path路径下
- 添加adb到path路径后,可到开始菜单中输入cmd打开控制台输入adb shell来验证是否配置成功。
如果没有配置成功,输入adb shell后会提示 adb 不是内部命令(有时需要重启电脑才可以检查到已经安装成功);
如果配置成功且连接上设备或者启动已经模拟器后,输入adb shell后会有如下图 提示
【常用操作命令详解】
1. 查看设备
adb devices
这个命令是查看当前连接的设备, 连接到计算机的android设备或者模拟器将会列出显示,可以确认设备是否连接上,如下截图是已经连接上的情况
实际连接状态如下:
- Device--此实例正与adb服务器连接
- offline — 此实例没有与adb相连接或者无法响应
- no device---当前没有模拟器/设备运行
2.adb logcat命令行用法,可使用-help来查看adb可输出的选项命令
常用选项解析:
- 输出指定标签内容 :
-- "-s"选项 : 设置默认的过滤器, 如 我们想要输出 “ActivityManager" 标签的信息, 就可以使用adb logcat -s ActivityManager命令;
(打印ActivityManager我们可以获得系统里正在运行的activities(英文意思为活动,那么顾名思义就是在运行着的应用程序),包括进程(Process)等、应用程序/包、服务(Service)、任务(Task)信息,给研发提供这些日志输入可供分析是什么应用在运行从而导致程序异常)
- 输出日志信息到文件 :
-- "-f"选项 : 该选项后面跟着输入日志的文件, 使用adb logcat -f /sdcard/log.txt & 命令(加入&表示后台运行,exit之后就可以拔掉数据线了,手机后台会一直运行这个logcat,并且该进程的ID为8278), 注意这个log文件是输出到手机上,需要指定合适的路径。
(采集的过程是不显示的,Ctrl+c结束采集,其中下图中 ps | grep logcat表示查询过滤出在运行的logcat,当结束采集log时,一定要关闭掉这个PS,然后使用kill id 将其杀掉关闭)
- 指定 logcat 的日志输出格式和输出到什么位置 :
-- "-v"和”>”选项 : 使用adb logcat -v time > D:/test.log命令, 可以看日志的输出时间和输出到什么位置;
- 加载一个可使用的日志缓冲区供查看
--”-b”选项:使用adb logcat -b radio 查看日志缓冲区包含radio 和 telephony信息
3. 进入设备或模拟器的shell:
adb shell [command]
通过上面对adb logcat标签的认识,那么就可以进入设备或模拟器的shell环境中,在这个Linux Shell中,你可以执行各种Linux的命令,一般在测试抓取log过程中都是执行一条shell命令,可通过以下常用命令来采集log:
- adb logcat -v time一般的常规log日志.(经常使用)
- adb shell dmesg会打印出开机的内核的调试信息(一般在手机自动重启会使用)
- adb bugreport 查看bug报告,包含有内核信息(可用于5.0以上系统的内核日志抓取)
- adb logcat -b radio -v time 带射频信息的LOG(很少使用)
- adb logcat -b events -v time 带事件信息的events log (很少使用)
- adb logcat -v threadtime 命令可以看日志的输入时间和线程信息(一般手机自动重启会使用)
- anr log (在 "data/anr"目录下如果要进入到data目录下是需要先root手机的,可查看下文第4点root手机)一般是出现死机重启,或者奔溃性关不掉的crash现象如phone报错无法关闭的bug.(出现crash现象一般需要使用此命令)
ANRlog一般会有traces文件,需使用命令导出
第一步:adb shell
第二步:cd /data/anr(如果有anr目录继续执行第三步,如果没有会提示没有此 目录,那就不需要在去traces文件了)
第三步:ls(查看存在的traces 文件)
第四步:Ctrl+C退出,然后输入adb pull /data/anr/traces文件名.txt E: 把文 件导入到E盘
- tombstone log (在/data/tombstones/"目录下) 死机LOG(很少使用):
- adb logcat -c 清空日志缓存信息命令, 可以将之前的日志信息清空, 重新开始输出日志信息;
4.root手机
一般有些用户会卸载系统的一些应用,来减少手机内存的大小,那么我们使用命令来root手机后卸载应用,可以检测手机的稳定性是否在可控范围之内
1.adb reboot-bootloader(进入fastboot模式,打开OEM模式)
2.fastboot oem teston
3.fastboot reboot(重启手机)
4.adb root(root手机)
5.adb remount (重新挂载系统分区,使系统分区重新可写)
5.删除系统应用(前提需root可和第4个结合使用)
1.adb remount
2.adb shell
3.cd system/app(进入到系统应用目录下)
4.rm *.apk(删除应用)
6.安装软件
adb install <apk文件路径> :这个命令将指定的apk文件安装到设备上
使用此命令可以方便快捷的把第三方APK安装在设备上
adb install
7.卸载软件
adb uninstall <软件名>
8.从电脑上发送文件到设备
用push命令可以把本机电脑上的文件或者文件夹复制到设备(手机)
adb push <本地路径> <远程路径>
9.从设备上下载文件到电脑
用pull命令可以把设备(手机)上的文件或者文件夹复制到本机电脑,在测试的时候方便快捷,以备在TP失效时,可以使用此方法把想要的文件复制到电脑上查看
adb pull <远程路径> <本地路径>
10.删除文件/文件夹(最好先root手机才可进入到系统)
一般在做自动化录制脚本测试时,会在data目录下新建文件,那么自动化完成后需要删除文件或文件夹时,就可用如下命令执行
1.adb shell
2.cd /data //进入系统内指定文件夹
3.ls //列表显示当前文件夹内容
4.rm -r xxx / /删除名字为xxx的文件夹及其里面的所有文件
rm xxx //删除文件xxx
rmdir xxx //删除xxx的文件夹
【adb命令用于monkey测试】
当Monkey程序在模拟器或设备运行的时候,如果用户出发了比如点击,触摸,手势或一些系统级别的事件的时候,它就会产生随机脉冲,所以可以用Monkey用随机重复的方法去负荷测试软件.
最简单的方法就是用下面的命令来使用Monkey,这个命令将会启动软件并且触发500个事件(事件数可以设定)将其monkey的log日志打印在PC端的D盘内.
adb shell monkey -v -p your.package.name 500 >D:monkey.log
2015/08/10 By dq