
正文
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", , "男");
return "OK";
}






