adb常用命令总结

438 阅读5分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第16天,点击查看活动详情

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 相似

adb logcat

在 cmd 窗口查看手机的 Log 日志

有时候我们在手机程序上的日志要在其他地方调试,然后要看里面的 Log 日志。在 cmd 窗口中输入如下命令:

//格式 1:打印默认日志数据 adb logcat

//格式 2:需要打印日志详细时间的简单数据 adb logcat -v time 

//格式 3:需要打印级别为 Error 的信息 adb logcat *:E

//格式 4:需要打印时间和级别是 Error 的信息 adb logcat -v time *:E

//格式 5:将日志保存到电脑固定的位置,比如 D:\log.txt adb logcat -v time >D:\log.txt

这时手机日志更新什么日志,cmd 窗口也会同步更新数据。 但是这样没有过滤条件,如果 Log 日志很多,很难找到我们想要的信息, 当然也可以复制 cmd 中的数据到一个文本中慢慢处理的,就是效率不高。 下面介绍 adb logcat 中的详细参数命令以及如何才能高效的打印日志,或者把日志保存 到我们指定的位置。

adb logcat 详解

adb logcat 如果用过,但是具体命令又不记得,可以输入 adb logcat -help,查看一下一 些简单的数据格式:

image.png

日志过滤:adb logcat [:priority]

tag 表示标签,priority 输出的级别,日志默认级别是 V,如果错误日志我们选择 E 就可 以。

Android 的日志分为如下几个优先级(priority):

V —— Verbose(最低,输出得最多)

D —— Debug

I —— Info

W —— Warning

E —— Error

F —— Fatal

S —— Silent(最高,啥也不输出) 按某级别过滤日志则会将该级别及以上的日志输出。比如,命令:adb logcat *:W

其实*可以是某个 tag,如果没有指明,就表示所有。 tag 可以由多个 [:priority] 组成。比如,命令:

adb logcat ActivityManager:I MyApp:D *:S

表示输出 tag ActivityManager 的 Info 以上级别日志,输出 tag MyApp 的 Debug 以上 级别日志,及其它 tag 的 Silent 级别日志(即屏蔽其它 tag 日志)。

adb logcat 选项解析

--"-s"选项 : 设置输出日志*:s 的标签, 只显示该标签的日志;

--"-f"选项 : 将日志输出到文件, 默认输出到标准输出流中, -f 参数执行不成功;

--"-r"选项 : 按照每千字节输出日志, 需要 -f 参数, 不过这个命令没有执行成功;

--"-n"选项 : 设置日志输出的最大数目, 需要 -r 参数, 这个执行 感觉 跟 adb logcat 效果一样;

--"-v"选项 : 设置日志的输出格式, 注意只能设置一项;

--"-c"选项 : 清空所有的日志缓存信息;

--"-d"选项 : 将缓存的日志输出到屏幕上, 并且不会阻塞;

--"-t"选项 : 输出最近的几行日志, 输出完退出, 不阻塞;

--"-g"选项 : 查看日志缓冲区信息;

--"-B"选项 : 以二进制形式输出日志;

把日志信息保存到电脑中

adb logcat 最后添加” > 保存文件的地址,比如需要将的信息保存到电脑中使用下面的 命令: adb logcat -v time > D:\log.txt

monkey 测试

Monkey 测试简介

Monkey 测试是 Android 平台自动化测试的一种手段,通过 Monkey 程序模拟用户触摸屏 幕、滑动 Trackball、按键等操作来对设备上的程序进行压

Monkey 命令的简单帮助

要获取 Monkey 命令自带的简单帮助,在 CMD 中执行命令:

adb shell monkey –help

image.png

Monkey 命令参数介绍

说明:第一个-s 指定设备,如果只连接了一台设备,可不用该参数。

-p 只允许系统启动指定的 app,如果不指定,将允许系统启动设备中的所有 app, 也可指定多个包。

--throttle <毫秒数> 指定用户操作(事件)间的时延。

--ignore-crashes 指定当应用程序崩溃时,Monkey 依然发送事件,直到事件计数完成。

--ignore-timeouts 当应用程序发生 ANR 错误时,Monkey 依然会发送事件,直到事件计数完 成。

第 2 个-s,用于指定伪随机数生成器的 seed 值,如果 seed 相同,则两次 Monkey 测试所产 生的事件序列也相同的。

-v 用于指定反馈信息级别,总共分为 level 0、level 1、level 2 三个级别,级别越高,输出的 日志越详细。

日志级别 Level0 示例 adb shellmonkey -p com.amaker.mp –v 100 说明 缺省值,仅提供启动提示、测试完成和最终结果等少量信息

日志级别 Level 1 示例 adb shellmonkey -p com.amaker.mp –v -v 100 说明 提供较为详细的日志,包括每个发送到 Activity 的事件信息

日志级别 Level 2 示例 adb shellmonkey -p com.amaker.mp –v -v –v 100

说明 最详细的日志,包括了测试中选中/未选中的 Activity 信息 最后的数字(这里是 500):表示 Monkey 程序模拟 500 次随机用户操作事件。 >输出测试结果到 D:\monkeylog.txt