【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:\