Android的日志信息介绍

来源:互联网 发布:网络社交平台有哪些 编辑:程序博客网 时间:2024/05/23 10:43

开发过程中,经常会出现这样的情况:
开发人员经常会抱怨测试提出bug,但没有提供相应的日志。不好分析定位问题。
测试人员也会抱怨,明明提供了日志,可开发人员还老是要求抓取日志,到底什么样的日志才符合开发的要求呢。
以下给大家介绍一下android几种常见的日志,希望能帮助到大家。

logcat main

命令: adb logcat或者adb logcat -main 最最常用的日志
adb默认的日志,
开发人员在代码中通过Log.d(TAG,"")方式添加。

 

logcat radio

射频相关的log,SIM STK也会在里面,modem相关的ATcommand等。
命令:adb logcat -b radio
开发人员也是通过Log.d(TAG,"")方式添加。 以前一直没有明白radio日志怎么添加的,其实是通过tag来区分的。
但注意,TAG必须为:"CDMA","GSM","STK","AT","HTC_RIL","PHONE","SMS",或者以"RIL"开头。
该标签在system/core/liblog/logd_write.c文件中定义的。

logcat events

 
命令:adb logcat -b events  该日志信息还是比较有用的,常会用到,深有体会。。
打印系统事件的日志,比如触屏事件 


状态信息:输出缓冲区的状态信息。


dumpstate

命令:adb shell dumpstate
输出的信息比较全,包括:
1.版本信息
2.系统状态信息:CPU 内存 进程 系统属性 等
3.Logcat信息  包括main ,radio 和event日志。
4.Dumpsys输出的所以services信息
5.ANR log信息
6.Dmesg kernel log信息
命令:adb bugreport。
与dumpstate包含信息几乎一致。
dumpsys

命令:adb shell dumpsys
输出系统服务信息 关于系统service的内容都在这个里面
dmesg

命令:adb shell dmesg
 打印内核信息. 相当于adb shell cat /proc/kmsg

自动化脚本测试时(比如monkey test),要抓取所有日志,需要用adb logcat -v time -b main > main.log 的方式重定位日志到日志文件。状态日志是测试过程中,出现某个问题时,需要抓取当前的日志信息,则通过adb shell dumpstate > dumpstate.log抓取日志。

还有一些小技巧:

查看system这个process的内存信息:adb shell dumpsys meminfo system
代码中添加打印堆栈信息:Log.d(TAG,"",new Exception()); 或者new Exception().printStackTrace();

原创粉丝点击