日志信息:
boot日志,通过串口获取内核日志:通过dmesg 获取系统日志:通过logcat,dumpsys获取APP日志: 通过am命令获取 1.boot日志boot日志是android 从上电开始的输出,主要通过串口获取。
2.内核日志dmesg获取方法:命令行
样例:【cat /proc/kmsg】【dmesg -c】
内核日志,主要是内核阶段打印,当需要调试驱动时,可以使用"kernel动态调试[dynamic_debug ]"功能
kernel编译阶段打开 CONFIG_DEBUG_FS=yCONFIG_DYNAMIC_DEBUG=y输入需要调试的文件 adb rootadb remount #重新挂载,否则文件是只读的无法写入adb shellecho -n "file q6adm.c +p" > /sys/kernel/debug/dynamic_debug/control #添加调试文件echo -n "file q6adm.c -p" > /sys/kernel/debug/dynamic_debug/control #关闭调试文件
调整kernel打印等级 cat /proc/sys/kernel/printk #查看kernel日志等级7 4 1 7echo 8 4 1 7 > /proc/sys/kernel/printk #更改kernel日志等级
(1)第一个参数 7表示小于7优先级消息才会被输出到控制台。
(2)第二个参数4 表示默认的printk消息优先级别,即printk(“hell world”);优先级为4, 由于4 kernel.log
3.系统日志logcat
获取方法:命令行,android studio
样例:
adb logcat -d -v time -b "main" > main.txtadb logcat -d -v time -b "system" > system.txtadb logcat -d -v time -b "events" > events.txtlogcat是andriod系统从kernel启动完成后,Logger系统收集的log,包含framework,app的日志,由于日志较多,推荐使用android studio来分析实时的日志,如果条件不允许,则使用命令行获取日志,再慢慢分析。
logcat Google 详细介绍
3.1 logcat日志分类 logcat日志分类 radio查看包含无线装置/电话相关消息的缓冲区无线/电话相关的Log信息events查看已经过解译的二进制系统事件缓冲区消息。系统事件相关的Log信息main查看主日志缓冲区(默认),不包含系统和崩溃日志消息。大部分应用级别的Log信息都在这里system查看系统日志缓冲区(默认)低级别的系统调试Log信息crash查看崩溃日志缓冲区(默认)。 all查看所有缓冲区。 default报告 main、system 和 crash 缓冲区。 3.2 logcat输出控制 "-v "后的参数 logcat输控制 brief显示优先级、标记以及发出消息的进程的 PID。long显示所有元数据字段,并使用空白行分隔消息。process仅显示 PID。raw显示不包含其他元数据字段的原始日志消息。tag仅显示优先级和标记。thread旧版格式,显示优先级、PID 以及发出消息的线程的 TID。threadtime显示日期、调用时间、优先级、标记、PID 以及发出消息的线程的 TID。time显示日期、调用时间、优先级、标记以及发出消息的进程的 PID。 3.3 logcat日志中的等级标识 等级标识 V详细(最低优先级)D调试I信息W警告E错误F严重错误S静默(最高优先级,绝不会输出任何内容)4.系统日志dumpsys
dumpsys google 详解
获取方式:命令行
样例:adb shell dumpsys [-t timeout] [--help | -l | --skip services | service [arguments] | -c | -h]
dumpsys可以获取系统的服务信息,可以使用dumpsys -l 查看dumpsysy支持查看的服务列表。
例如:
dumpsys input:输入设备(如键盘和触摸屏)的状态以及输入事件的处理 adb shell dumpsys inputdumpsys gfxinfo:进行新能测试 adb shell dumpsys gfxinfo package-name framestats
dumpsys netstats:设备启动以来收集的网络使用情况统计信息 adb shell dumpsys netstats detail
dumpsys procstats:查看内存使用情况
adb shell dumpsys procstats --hours 3#adb shell dumpsys meminfo package_name|pid [-d]adb shell dumpsys meminfo com.google.android.apps.maps -d5.APP日志 5.1 am dumpheap
Android am 命令使用
获取方法:命令[adb shell am dumpheap [参数] ]
样例:
adb shell am dumpheap com.android.browser /data/local/tmp/test.hprof#获取内存快照(后缀名必需为.hprof)adb pull /data/local/tmp/test.hprof ./test.hprofPC端使用命令:hprof-conv e: est.hprof e: est1.hprof进行文件转化,使用mat工具对内存进行查看分析。
6.日志工具 6.1 工具TraceviewTraceview是android平台配备一个很好的性能分析的工具。它可以通过图形化的方式让我们了解我们要跟踪的程序的性能,并且能具体到method。
6.2 bugreportgoogle官方分析工具,后期补充