1. 程式人生 > >【Android】adb抓取不同分類Log(kernel、radio、event、main)和獲取ANR log

【Android】adb抓取不同分類Log(kernel、radio、event、main)和獲取ANR log

Log分類

    Android日誌主要分為kernel、radio、event、main這四種log。

Kernel Log

    kernel log屬於Linux核心的log ,可以通過讀取/proc/kmsg或者通過串列埠來抓取。

    adb 抓取kernel log的命令如下(需要有root許可權):

             adb shell cat /proc/kmsg > /tmp/kernel.log  

Radio Log

    -b radio引數可以抓取Android RIL層 log,在除錯Android通訊方面的程式碼時,這個Log非常關鍵。抓取命令如下:

           adb logcat -b radio > /tmp/radio.log  

Main Log

    main log和我們在eclipse裡通過DDMS中看到的log是一致的。抓取命令如下:

               adb logcat -b main > /tmp/main.log  

Event Log

    event log屬於system log,平時可以跟在main log之後。抓取命令如下:

            adb logcat -b event -v time > /tmp/event.log  

    注:-v time表示在log中加入每條log發生的時間。

完整Log

    adb logcat -b選項是可以複用的,因此我們抓取所有Log的命令就是複用了-b選項。抓取命令如下:

               adb logcat -b main -b system -b radio -b events -v time > /tmp/all.log  

獲取ANR log

進入CMD命令視窗,輸入以下命令(需要有root許可權,否則無法進入瀏覽data): 

>adb shell  

$ su 

# cd data  

# ls 

# exit

$ exit

> adb pull /data/anr/traces.txt D:\