读取 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 蓝牙 LE - 读取浮动特性

Android CPU耗电量测试

Android 逆向整体加固脱壳 ( DEX 优化流程分析 | DexPrepare.cpp 中 dvmOptimizeDexFile() 方法分析 | /bin/dexopt 源码分析 )(代码片段

常用python日期日志获取内容循环的代码片段

我的Android进阶之旅如何传递android的log日志打印方法给到底层算法c代码去调用?