[Android]Android日志抓取软件测试

 1. log文件分类简介

1. 实时打印:

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. 状态信息:

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

posted @ 2014-06-07 09:12  It's_Lee  阅读(1026)  评论(0编辑  收藏  举报