admin 管理员组

文章数量: 887021

今天讲下windows下,用命令行来执行adb logcat命令。
当然也可以使用Eclipse或者android studio来查看,只不过如果只是单纯看个日志的话,倒是没必要打开一个工具查看,耗内存耗资源。

首先打开个cmd,输入adb,回车。如果告知你adb不是内部命令、也不是可运行程序或批处理文件,那么说明你没有把adb所在的路径加入到环境变量中。

adb.exe一般是放在sdk目录下/platform-tools下的,我自己电脑上的路径是E:\AndroidSDK\platform-tools
打开环境变量,找到path,点击编辑,在后面添加(记住与前一个路径需要用分号分割开来,需要使用英文的分号),点击确定,然后重新打开cmd,因为在windows下,改变环境路径后需要重新打开cmd,否则刚才的操作在原来的cmd下不起效。

现在开始讲命令了。以下是官网对命令的说明:
http://developer.android/intl/zh-cn/tools/debugging/debugging-log.html#filteringOutput

首先log是分等级的,依次是V、D、W、I、E(左边最低,右边最高)。
如果你选择V的话,那么会把比V高的都打印出来,如果选择I的话,只会打印出I、E。
查看日志命令:adb logcat。
参数:

  • c 如果你一开始执行了adb logcat,会发现会打印出所有 之前的日志,但是你并不想看之前的日志,可以使用该命令来清空所有的日志。adb logcat -c
  • d Dumps the log to the screen and exits.
  • f 将打印的日志写入到你指定的文件中。默认的输入时命令行内显示。
  • g Prints the size of the specified log buffer and exits.
  • n Sets the maximum number of rotated logs to . The default value is 4. Requires the -r option.
  • r Rotates the log file every of output. The default value is 16. Requires the -f option.
  • s 这个命令是非常有用的命令,如果你想查看某个tag的日志,就可以使用该命令,例如我的程序中都是使用test作为tag的,那么命令如下:adb logcat -s test,回车就会看到该tag下的日志。
  • v 该命令就是用来指定输出的格式的。一条日志记录是包含好几个方面的,例如日期时间、PID(进程id)、tag、包名(package name)、以及显示的内容等等,你可以指定你想要显示的内容。比如说你只想显示PID,命令如下:adb logcat -v process,回车之后的结果:

接下来讲述其他的一些参数,这些参数的说明你可以通过以下命令来查看:
adb logcat -help
过滤的语法:tag名字:log优先级

这里要先解释下,S就是让那些不显示,如果不明白请看下面。
比如说现在有个需求,在你的应用程序中都是用同一个tag(test)来打印日志,该日志有debug的,有error的,有warn的。但是你只想查看debug的,怎么做呢?只需以下命令:
adb logcat test:D *:S

有的时候应用程序中可能会跑出一些RuntimeException,他打印的时候是E/AndroidRuntime,所以我们既需要打印tag的日志,也想看运行时跑出的异常,这该怎么做呢?

命令如下:
adb logcat AndroidRuntime:E test:D *:s

这里的*:s的意思是对于所有的tag。都不打印,因为前面已经指明了AndroidRuntime下的error和以test为tag的debug日志会打印,所以以上两种情况的日志不会被忽略。

现在大家知道怎么用了吧。

还有就是对于win7,cmd的窗口比较小,即使放到最大,也只有正常屏幕的一般,那如何调节呢?
只要在命令行标题栏右键,选择属性

只要调大高度和宽度即可。
不过在win10的系统下,对命令行进行了优化,就不用上述的调剂了,而且在win10的命令行,支持复制粘贴,这真是方便,以前都不能复制粘贴,好像吐槽。

本文标签: 命令 cmd Windows logcat ADB