Android 日志获取总结

Android 日志获取总结

Android开发中遇到问题经常需要分析日志,下面介绍如何获取日志进行分析。

Android日志:

1、如果App中已经做了定向处理,从指定的目录中获取即可。

定向处理指的是app中做了日志写入到自己指定的文件中。

2、但是如有没有定向处理,那么就要学会从系统中获取到日志。

从系统中查看日志也有两种方式

(1)使用adb logcat获取日志

adb logcat 命令详解:https://blog.csdn.net/wenzhi20102321/article/details/81058196

adb获取日志可以使用cmd窗口查看,
//格式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文件

(2)从系统指定目录中获取android日志

下面日志的获取是需要手机root权限的,一般时候系统级开发定位问题!

Android系统完整的日志文件目录:/data/log/android_logs/
系统或者APP发生ANR时的log日志文件目录:/data/anr
C/C++代码发生崩溃时的日志文件目录: /data/tombstones 存
各种APP崩溃、ANR、Android系统死机、重启、C/C++模块崩溃等场景的日志文件目录:/data/system/dropbox 存放。

dropbox目录下的文件,其文件名中@后面的数字是问题发生时的设备的UTC时间,需要转换成标准时间。
例如:[email protected],1583313946748这个UTC时间转换成标准时间就是2020/3/4 17:25:48。
注意:如果设备时间不准,那么转换过来的时间也会不准。

下面提供一下简单的脚本方便点击即可获取日志文件

https://download.csdn.net/download/wenzhi20102321/12376556

logcat.bat

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

先清除日志再log.bat

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

pull_android_logs.bat

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

delete_android_logs.bat

adb remount
adb shell rm -rf /data/log/android_logs/
pause

pull_anr_tombs_others_log.bat

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

共勉:五一快乐!

你可能感兴趣的:(Android 日志获取总结)