天天看點

[Android]Android日志抓取軟體測試

1.1 logcat main(應用程式)

-- adb logcat -b main -v time > app.log

1.2 logcat radio(射頻相關-SIMSTK,modem相關的ATcommand)

-- adb logcat -b radio -v time > radio.log

1.3 logcat events(系統事件的日志,比如觸屏事件等)

-- adb logcat -b events -v time

1.4 tcpdump(TCP/IP協定相關,比如抓mms下載下傳的時候的UA

profile,browser上網的時候,使用proxy的APN下載下傳,streaming的相關内容包括UA profile等)

-- adb shell tcpdump -s 10000 -w /sdcard/capture.pcap

1.5 還有高通平台的還會有QXDM日志(高通提供的解決方案,請參考QPST、QXDM的基本使用說明及作用)。

2.1 kmsg

-- adb shell cat /proc/kmsg > kmsg.txt,打開後查msm_kgsl字段

說明:用于檢索用printk生成的核心消息。任何時刻隻能有一個具有超級使用者權限的程序可以讀取這個檔案。也可以用系統調用syslog檢索這些消息。通常使用工具dmesg或守護程序klogd檢索這些消息。proc是一個記憶體檔案系統, 每次讀檔案kmsg實際是核心内部的循環緩沖區,每讀過後,循環緩沖區的東西就被認為已經處理過了(也就是變成無效内容),是以你再次讀為空是很正常的 為什麼會這樣處理呢,循環緩沖區大小有限,核心又随時可能往裡面寫東西,是以這樣處理很正常. 你去查一下/proc/kmsg的資訊有沒有跟系統日志關聯,如果有的話,你就可以讀日志檔案

2.2 dmesg(開機資訊)

-- adb shell dmesg > dmesg.txt

kernel會将開機資訊存儲在ring

buffer中,您若是開機時來不及檢視資訊,可利用dmesg來檢視。dmesg是kernel的log,凡是跟kernel相關的,比如driver出了問題(相機,藍牙,usb,啟動,等等)開機資訊亦儲存在/var/log目錄中,名稱為dmesg的檔案裡。more

/var/log/dmesg

adb shell dumpstate(系統狀态資訊,裡面比較全,包括手機目前的記憶體資訊、cpu資訊、logcat緩存,kernel緩存等等)

2.4 dumpsys(系統service的内容)

-- adb shell dumpsys meminfo system(檢視system這個process的記憶體資訊)

2.5 bugreport(包含有dmesg,dumpstate和dumpsys)

-- adb bugreport > bugreport.log

2.6 工程模式等

對于Apollo手機請撥打*#*#8888#*#*

,然後勾選相應的LOG。待測試結束後,通過SD卡導出LOG到PC.- 作為參考

3. 開通 push and pull 權限,及read and write權限

預設情況下,都是隻讀權限,這時候:

1. 輸入adb remount;

2. 如果第1方法不行的話,adb

shell su之後,将檔案系統remount為讀寫權限:mount -o rw,remount /system。

處于安全考慮,記得完事後remount回隻讀:mount -o ro,remount /system