摘要:
在java应用层有log.i 等,在本地层次有LOGI,LOGV等 用来打印调试信息:
那么在jni中也有专有的打印函数。下面讲解如何在jni中使用log打印函数。
1.在 Android.mk文件中需要加入:
LOCAL_LDLIBS := -llog
2. 并包含如下库文件
#include <android/log.h>
3.在jni里面使用方法举例:
__android_log_print(ANDROID_LOG_INFO, "MY_YAG", "this is %d,%d\n",x,y);
下面是常用的几个函数:
__android_log_print(ANDROID_LOG_DEBUG,LOG_TAG,__VA_ARGS__)
__android_log_print(ANDROID_LOG_INFO,LOG_TAG,__VA_ARGS__)
__android_log_print(ANDROID_LOG_WARN,LOG_TAG,__VA_ARGS__)
__android_log_print(ANDROID_LOG_ERROR,LOG_TAG,__VA_ARGS__)
__android_log_print(ANDROID_LOG_VERBOSE,LOG_TAG,__VA_ARGS__)
方便调用使用,可以预先进行宏定义:
#define LOGI(msg) __android_log_print(ANDROID_LOG_INFO, LOG_TAG, msg)
#define LOGE(msg) __android_log_print(ANDROID_LOG_ERROR, LOG_TAG, msg)
#define LOGW(msg) __android_log_print(ANDROID_LOG_WARN, LOG_TAG, msg)
#define LOGV(msg) __android_log_print(ANDROID_LOG_VERBOSE, LOG_TAG, msg)
#define LOGD(msg) __android_log_print(ANDROID_LOG_DEBUG, LOG_TAG, msg)