Android开发中遇到问题经常需要分析日志,下面介绍如何获取日志进行分析。
Android日志:
定向处理指的是app中做了日志写入到自己指定的文件中。
从系统中查看日志也有两种方式
adb logcat 命令详解:https://blog.csdn.net/wenzhi20102321/article/details/81058196
//格式1:打印默认日志数据
adb logcat
//格式2:需要打印日志详细时间的简单数据
adb logcat -v time
//格式3:需要打印级别为Error的信息
adb logcat *:E
//格式4:需要打印过滤MainActivity的日志
adb logcat | grep MainActivity
//其他,清除缓存日志
adb logcat -c
//将日志保存到电脑固定的位置,比如D:\log.txt
adb logcat -v time >D:\log.txt
直接定向获取logcat日志,可以读取到缓存的日志
如果是要获取准备发生问题的日志,一般先使用logcat -c清除日志,再获取。
当然,为了更快获取日志,我们最好是写一些简单的脚本bat直接执行即可获取到日志。
logcat文件
下面日志的获取是需要手机root权限的,一般时候系统级开发定位问题!
dropbox目录下的文件,其文件名中@后面的数字是问题发生时的设备的UTC时间,需要转换成标准时间。
例如:[email protected],1583313946748这个UTC时间转换成标准时间就是2020/3/4 17:25:48。
注意:如果设备时间不准,那么转换过来的时间也会不准。
https://download.csdn.net/download/wenzhi20102321/12376556
adb shell logcat -G 2m
adb logcat -v threadtime >"%date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%%time:~6,2%log.txt"
pause
adb shell logcat -G 2m
adb logcat -c
adb logcat -v threadtime >"%date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%%time:~6,2%log.txt"
pause
adb remount
adb wait-for-device
adb devices
adb pull /data/log/android_logs/ "%date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%%time:~6,2%Log"
pause
adb remount
adb shell rm -rf /data/log/android_logs/
pause
adb remount
adb wait-for-device
adb devices
adb pull /data/log/android_logs/ "%date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%%time:~6,2%AndroidLog"
adb pull /data/anr "%date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%%time:~6,2%anrLog"
adb pull /data/tombstones "%date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%%time:~6,2%tombstonesLog"
adb pull /data/system/dropbox /data/tombstones "%date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%%time:~6,2%tombstonesLog"
pause