Android NDK Log信息打印
16lz
2021-01-23
对于一个程序来说,什么都可以不开始,但是调试信息首先要出来,优先解决log信息.
所以在第一篇的基础上面加上在jni中添加log信息,具体操作如下:
<1> : 修改Android.mk文件,在其中添加Android的Library库进来:
LOCAL_PATH := $(call my-dir)include $(CLEAR_VARS)LOCAL_MODULE :=durianjniLOCAL_SRC_FILES := durianJni.cLOCAL_LDLIBS := -lloginclude $(BUILD_SHARED_LIBRARY)
实际上增加一行:
LOCAL_LDLIBS := -llog
即可.
<2> : 在c程序中引用:
#include #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.
更多相关文章
- android在一个app程序中,打开另一个app的方法
- 小米5手机Android运行程序闪退出错解决方法
- android 程序开发的插件化
- Android学习手记(4) BroadcastReceiver监听电池信息