Android: adb 命令查日志

使用场景:

测试android app发生carsh和anr时,需要把崩溃日志导出来作为附件传到bug管理工具中(开发能看懂,保存日志给开发即可)

安装:

mac配置搞了好久,忘记笔记了                       

参考资料:https://www.jianshu.com/p/7e8eff459c58

命令:

adb是运行在pc端的程序:可以通过它对android应用进行安装、卸载以及调试。adb常用的命令有:

1.adb devices  : 获取计算机连接的设备列表和设备状态

2.adb install **.apk  : 安装包

3.adb shell pm list package -3  : 获取第三方应用apk名

  adb shell pm list package -s  : 获取系统应用

  adb shell pm list package -f  : 获取应用包名及对应的apk名和存放位置

4.adb uninstall 应用包名  :卸载

5.adb logcat 查看log  (control + C 快捷键,退出当前命令)

adb logcat -c       清除之前的日志信息,一般在看日志前都会执行这个命令,目的是好看日志,不然前面的日志应该会超级多,不好看问题

adb logcat -v time *:E  显示所有优先级大于等于错误(Error)的日志

e g: 抓liaoyu包的错误日志

adb logcat -v time *:E  | grep com.health.liaoyu

adb logcat -v time *:e |grep com.health.liaoyu

adb logcat -v time > D:\log.txt   把日志输出到电脑的上查看,在窗口打印的同时,文件也会同时打印的


遇到的错误

报错:zsh: no matches found: *:E

echo $0  # 查看当前shell,如果是-zsh,表示zsh没有把*:E 当作adb 命令的参数,而是把它当作了命令行的参数。

解决方式1:

在命令前加noglob前缀:noglob abd logcat -v time *:E

解决方式2:(永久)

打开 .zshrc 文件(位于 ~ 目录下),添加一行:setopt no_nomatch

vim ~/.zshrc 打开文件-->输入i进入insert模式-->编辑内容-->esc退出编辑模式-->shift+q进入:命令模式(一般电脑能直接进入可忽略,我的mac电脑比较特殊) -->wq! 保存并强制退出


日志的优先级

一般有如下几档,由低到高:

1、VERBOSE,一般信息,输出为颜色为黑色且日志级别大于等于VERBOSE的信息

2、DEBUG,调试信息,蓝色

3、INFO,标识信息,绿色

4、WARN,警告信息,橙色且

5、ERROR,错误信息,红色

6、F —— Fatal  致命

7、S —— Silent(最高,啥也不输出)

你可能感兴趣的:(Android: adb 命令查日志)