在Java层,有两个类用于打印
android.util.Log
android.util.Slog
这两个的区别是一个是LOG_ID_MAIN,另一个是Log.LOG_ID_SYSTEM,系统里面好像这两个对应的是一个日志缓冲区
分别调用
Log.v(TAG,"");
Slog.v(TAG, “”);
进行打印输出
在C++层
可以调用LOGI等
再看一下流程图
当我们需要把打印输出到文件时(串口存在log丢失),可以在logd_write.c函数__android_log_buf_write
#ifdef REC_PUSH_DATA if(len > 0 ) { if(rec_fp == NULL) { rec_fp = fopen("/data/android.log", "wb"); } if(rec_fp == NULL) { } else { fwrite("(lijj) ", 1, 6, rec_fp); fwrite(tag, 1, strlen(tag), rec_fp); fwrite(" ", 1, 2, rec_fp); fwrite(msg, 1, len, rec_fp); fwrite("\n", 1, 2, rec_fp); fflush(rec_fp); } } #endif还有__android_log_write中添加同样的代码把log写到/data/android.log