读取 Android 设备内核日志的方法
Posted smnet
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了读取 Android 设备内核日志的方法相关的知识,希望对你有一定的参考价值。
如果是 android 开发板,可以通过串口直接读取内核日志。
对于普通 Android 设备,可以在终端中执行 cat /proc/kmsg
命令获取内核日志。
当设备由于内核故障无法正常启动时,可以通过以下方式获取日志:
- 重启设备到一个可以正常运行的系统,这里通常指设备的 recovery ,推荐 TWRP 。
- Linux 内核版本 ≤ 3.4 :
可以通过在终端执行cat /proc/last_kmsg
获取日志。
如果无法找到文件,请确保在内核配置中设置了以下配置:
CONFIG_ANDROID_RAM_CONSOLE=y
CONFIG_ANDROID_RAM_CONSOLE_ENABLE_VERBOSE=y
- Linux 内核版本 > 3.4 :
可以通过在终端执行cat /sys/fs/pstore/console-ramoops
获取日志。该文件的名称可能略有不同,但将在此目录中。
如果您无法找到这些文件,请确保在内核配置中设置了以下配置:
CONFIG_PSTORE=y
CONFIG_PSTORE_CONSOLE=y
CONFIG_PSTORE_PMSG=y
CONFIG_PSTORE_RAM=y
- 可以通过执行以下命令手动触发内核 panic :
echo 1 > /proc/sys/kernel/sysrq
echo c > /proc/sysrq-trigger
参考资料: http://docs.halium.org/en/latest/porting/debug-build/dmesg.html
以上是关于读取 Android 设备内核日志的方法的主要内容,如果未能解决你的问题,请参考以下文章
我的Android进阶之旅NDK开发之在C++代码中使用Android Log打印日志,打印出C++的函数耗时以及代码片段耗时详情
Android 逆向整体加固脱壳 ( DEX 优化流程分析 | DexPrepare.cpp 中 dvmOptimizeDexFile() 方法分析 | /bin/dexopt 源码分析 )(代码片段