今天,讲讲在jni中如何打印logxx,用来进行调试。
一、实现
1、修改Android.mk文件。
在这个配置文件中我们加入如下一行代码:
LOCAL_LDLIBS += -llog
注意:这行代码一定要加载include $(BUILD_SHARED_LIBRARY)之前。
具体如下图:
此时Android.mk文件文件的配置如下:
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := hello
LOCAL_SRC_FILES := hello.c
LOCAL_LDLIBS += -llog
include $(BUILD_SHARED_LIBRARY)
2. 定义LOG 函数
先定义一个全局变量,再定义一些输出的LOG函数:
#define TAG "myDemo-jni" // 这个是自定义的LOG的标识
#define LOGD(...) __android_log_print(ANDROID_LOG_DEBUG,TAG ,__VA_ARGS__) // 定义LOGD类型
#define LOGI(...) __android_log_print(ANDROID_LOG_INFO,TAG ,__VA_ARGS__) // 定义LOGI类型
#define LOGW(...) __android_log_print(ANDROID_LOG_WARN,TAG ,__VA_ARGS__) // 定义LOGW类型
#define LOGE(...) __android_log_print(ANDROID_LOG_ERROR,TAG ,__VA_ARGS__) // 定义LOGE类型
#define LOGF(...) __android_log_print(ANDROID_LOG_FATAL,TAG ,__VA_ARGS__) // 定义LOGF类型
上述代码中定义的函数
分别对应于Android 的Java代码中的
Log.d(), Log.i(), Log.w(),Log.e(), Log.f()等方法.
3.在C方法中利用LOGI方法打印Log
LOGI(" ......From C.....");
修改的配置如图:
android jni打印log信息就讲完了。
就这么简单。