Android NDK Log信息打印

对于一个程序来说,什么都可以不开始,但是调试信息首先要出来,优先解决log信息.

所以在第一篇的基础上面加上在jni中添加log信息,具体操作如下:

<1> : 修改Android.mk文件,在其中添加Android的Library库进来:

LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)

LOCAL_MODULE :=durianjni
LOCAL_SRC_FILES := durianJni.c
LOCAL_LDLIBS := -llog

include $(BUILD_SHARED_LIBRARY)

实际上增加一行:

LOCAL_LDLIBS := -llog

即可.

<2> : 在c程序中引用:

#include <android/log.h>
#define LOG_TAG "durian"
#define LOGI(...) __android_log_print(ANDROID_LOG_INFO,LOG_TAG,__VA_ARGS__)


<3> : 第三部重新clean一下,并且build,然后运行:


下面做一下扩展:

#define LOG_TAG "durian"
#define LOGI(...) __android_log_print(ANDROID_LOG_INFO,LOG_TAG,__VA_ARGS__)
#define LOGD(...) __android_log_print(ANDROID_LOG_DEBUG, LOG_TAG, __VA_ARGS__)
#define LOGW(...) __android_log_print(ANDROID_LOG_WARN,LOG_TAG,__VA_ARGS__)
#define LOGE(...) __android_log_print(ANDROID_LOG_ERROR,LOG_TAG,__VA_ARGS__)
#define LOGF(...) __android_log_print(ANDROID_LOG_FATAL,LOG_TAG,__VA_ARGS__)


程序里面使用上面的如下:

JNIEXPORT jint JNICALL Java_com_durian_jnienv_lib_DurianJni_durianAdd(JNIEnv *env, jobject jobj, jint a, jint b){

	int sum=(int)a+(int)b;
	LOGI("info : from jni log information !");
	LOGD("debug : from jni log information !");
	LOGW("warn : from jni log information !");
	LOGE("error : from jni log information !");
	return (jint)sum;

}


以后就可以照着这个模板打工程的log打印出来,方便程序调试和debug.


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值