Eclipse NDK 打印LOG信息(都在jni目录下操作)

http://blog.csdn.net/u013045971/article/details/46448975

1 在.c文件中,引用头文件,定义TAG、LOG宏:

#include <android/log.h>
#define
TAG "JNITag" #define LOGV(...) __android_log_print(ANDROID_LOG_VERBOSE, TAG, __VA_ARGS__) // 定义debug信息 #define LOGD(...) __android_log_print(ANDROID_LOG_DEBUG, TAG, __VA_ARGS__) // 定义error信息 #define LOGE(...) __android_log_print(ANDROID_LOG_ERROR,TAG,__VA_ARGS__) // 定义info信息 #define LOGI(...) __android_log_print(ANDROID_LOG_INFO,TAG,__VA_ARGS__)

 ANDROID_LOG_VERBOSE:枚举类型,用来区分LOG等级,比如红色的error酱紫。

 TAG:log输出的标记。

 __VA_ARGS__:要打印的log信息

2 配置Android.mk文件

添加llog是有关log的一个库

# for logging  
LOCAL_LDLIBS    += -llog  

配置完成后如下:

LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := testndk
LOCAL_SRC_FILES := com_my_testndk_JniClient.c
# for logging  
LOCAL_LDLIBS    += -llog  
include $(BUILD_SHARED_LIBRARY)

#以下为加载的第三方so配置
include $(CLEAR_VARS)
LOCAL_MODULE := libload
LOCAL_SRC_FILES := ./mylib/$(TARGET_ARCH_ABI)/libload.so
include $(PREBUILT_SHARED_LIBRARY)

3 c中调用

JNIEXPORT jstring JNICALL Java_com_my_testndk_JniClient_run(JNIEnv *env,
        jclass class, jobject Application, jobject Context, jstring libPath,
        jobject ClassLoader, jobject pkg) {
    LOGD("Library successfully loaded!");    
    LOGI("user info----name:%s, age:%d, sex:%s.", "xxx", 18, "");
    return "OK";
}

 

posted on 2017-05-27 15:52  寻步  阅读(310)  评论(0编辑  收藏  举报