Android使用adb抓完整Log

前言

    最新项目里一直在做 Android RIL 方面的研究,非常最终项目还是未能解决通信底层模块的问题,但是在使用adb抓log上还是有一些收获的,这里记录一下。
 

Log分类

    Android日志主要分为kernel、radio、event、main这四种log。

Kernel Log

    kernel log属于Linux内核的log ,可以通过读取/proc/kmsg或者通过串口来抓取。
    adb 抓取kernel log的命令如下(需要有root权限):
[java] view plain copy
 
  1. adb shell cat /proc/kmsg > /tmp/kernel.log  

Radio Log

    -b radio参数可以抓取Android RIL层 log,在调试Android通信方面的代码时,这个Log非常关键。抓取命令如下:
[java] view plain copy
 
  1. adb logcat -b radio > /tmp/radio.log  

Main Log

    main log和我们在eclipse里通过DDMS中看到的log是一致的。抓取命令如下:
[java] view plain copy
 
  1. adb logcat -b main > /tmp/main.log  

Event Log

    event log属于system log,平时可以跟在main log之后。抓取命令如下:
[java] view plain copy
 
  1. adb logcat -b event -v time > /tmp/event.log  
    -v time表示在log中加入每条log发生的时间。

完整Log

    adb logcat -b选项是可以复用的,因此我们抓取所有Log的命令就是复用了-b选项。抓取命令如下:
[java] view plain copy
 
  1. adb logcat -b main -b system -b radio -b events -v time > /tmp/all.log  

posted on 2017-12-26 13:40  byd张小伟  阅读(7632)  评论(0编辑  收藏  举报