Android Debug Bridge(Android 调试桥)
针对移动端 Android 的测试, adb 命令是很重要的一个点,必须将常用的 adb 命令熟记于心, 将会为 Android 测试带来很大的方便,其中很多命令将会用于自动化测试的脚本当中。
adb 是一个 C/S 架构的命令行工具,用于通过电脑端与模拟器或者真实设备交互。在某些特殊的情况下进入不了系统,adb就派上用场了,主要由 3 部分组成:
· 运行在 PC 端的 Client : 可以通过它对 Android 应用进行安装、卸载及调试
· 运行在 PC 端的 Service : 其管理客户端到 Android 设备上 adb 后台进程的连接
· 运行在 Android 设备上的 adb 后台进程
adb 服务启动后,Windows 可以在任务管理器中找到 adb.exe 这个进程
通过adb操作android设备
连接上数据线,然后把手机开发者模式打开,打开usb调试。
在配好环境变量的前提下,在命令窗口当中输入 adb help 或者直接输入 adb ,将会列出所有的选项说明及子命令。
在开发或者测试的过程中,我们可以通过 adb 来管理多台设备,其一般的格式为:adb [-e | -d | -s <设备序列号>] <子命令>
- adb devices 获取设备列表及设备状态
- adb get-state 获取设备的状态
设备的状态分三种:
device:设备正常连接
offline:连接出现异常,设备无响应
unknown:没有连接设备 - 安装卸载应用程序
adb install 用于安装
adb uninstall 用于卸载:adb uninstall 后面带的是应用的包名,而不是应用名。 - 查看系统所有应用的包名:
adb shell pm list package
Package Manager , 可以用获取到一些安装在 Android 设备上得应用信息
-s:列出系统应用
adb shell pm list packages –s
-f:列出应用包名及对应的apk名及存放位置
adb shell pm list packages –f - 上传、下载文件
adb push 命令将PC机上的文件推到 Android机器上;
adb pull 命令将DLT-RK3288机器上的文件拉到PC机上;
例子:
adb push d:/ytx.txt /sdcard/
将D盘下ytx.txt文件 推到内部存储器
adb pull /sdcard/ytx.txt d:
将Android机器 内部存储器根目录下的ytx.txt 拉到D盘 - adb shell
通过adb shell 命令,就可以进入设备或者模拟器的shell环境了,在这个Linux shell中,我们就可以执行各种Linux命令了。
如果只想执行一条shell命令,就可以采用:adb shell [shell_command],在实际使用中,经常与grep或findstr一起使用,起到过滤作用,查看自己需要的关键信息。
常见命令有: ls, cd, rm, mkdir, touch, pwd, cp, mv, ifconfig, netstat, ping, ps, top等,进入adb shell即可执行,与linux相似 - 在cmd窗口查看手机的Log日志
有时候手机程序上的日志要在其他地方调试,然后要看里面的Log日志。输入adb logcat -help,查看一下一些简单的数据格式:
格式1:打印默认日志数据
adb logcat
格式2:需要打印日志详细时间的简单数据
adb logcat -v time
格式3:需要打印级别为Error的信息
*adb logcat :E
格式4:需要打印时间和级别是Error的信息
*adb logcat -v time :E
格式5:adb logcat最后添加” > 保存文件的地址,将日志保存到电脑固定的位置,比如D:\log.txt
adb logcat -v time >D:\log.txt
日志过滤:adb logcat tag:priority
tag表示标签,priority输出的级别,日志默认级别是V,其实 * 可以是某个tag,如果没有指明,就表示所有。
tag可以由多个 [:priority] 组成。比如,命令:
adb logcat ActivityManager:I MyApp:D :S
表示输出 tag ActivityManager 的 Info 以上级别日志,输出 tag MyApp 的 Debug 以上级别日志,及其它 tag 的 Silent 级别日志(即屏蔽其它 tag 日志)。
Android 的日志分为如下几个优先级(priority):
V —— Verbose(最低,输出得最多)
D —— Debug
I —— Info
W —— Warning
E —— Error
F —— Fatal
S —— Silent(最高,啥也不输出)
adb logcat选项解析
–"-s"选项 : 设置输出日志:s的标签, 只显示该标签的日志;
–"-f"选项 : 将日志输出到文件, 默认输出到标准输出流中, -f 参数执行不成功;
–"-r"选项 : 按照每千字节输出日志, 需要 -f 参数, 不过这个命令没有执行成功;
–"-n"选项 : 设置日志输出的最大数目, 需要 -r 参数, 这个执行 感觉 跟 adb logcat 效果一样;
–"-v"选项 : 设置日志的输出格式, 注意只能设置一项;
–"-c"选项 : 清空所有的日志缓存信息;
–"-d"选项 : 将缓存的日志输出到屏幕上, 并且不会阻塞;
–"-t"选项 : 输出最近的几行日志, 输出完退出, 不阻塞;
–"-g"选项 : 查看日志缓冲区信息;
–"-B"选项 : 以二进制形式输出日志;
来源:CSDN
作者:遥离
链接:https://blog.csdn.net/qq_41533120/article/details/103469537