adb logcat -b events 打印events log信息
ps显示瞬间行程 (process) 的动态
ps -AZ|grep -i init 查询init的属于的进程状态
android上层都是基于 init进程孵化而来
init进程中的log信息打印在kernel log
可以通过 adb shell cat /proc/kmsg > kernel.log输出的kernel.log文件中搜索查看
由于默认klog内存比较小,从能连上adb导出log文件,基本上已经十来秒之后,故早期的一些log会被后续的log覆盖掉导致信息丢失。
在如下目录中
kernel-4.4/kernel/printk/printk.c
修改__LOG_BUF_LEN的值增加内存大小
//#define __LOG_BUF_LEN (1 << CONFIG_LOG_BUF_SHIFT)
#define __LOG_BUF_LEN (4*1024 *1024) log缓存变成4M
也可以在adb shell中通过dmesg | grep "xxx" 查看关键字观察所添加的log是否有输出。
另外还有android log的buffer system/core/liblog/include/private/android_logger.h
#define LOG_BUFFER_SIZE (256 * 1024) 调整大小
system/core/liblog/include/private/android_logger.h
//#define LOG_BUFFER_SIZE (256 * 1024) /* Tuned with ro.logd.size per-platform \*/
change to
#define LOG_BUFFER_SIZE (4 * 1024 * 1024)
Android P 上init进程出现log无法打印的问题