对于一个程序来说,什么都可以不开始,但是调试信息首先要出来,优先解决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.


更多相关文章

  1. android在一个app程序中,打开另一个app的方法
  2. 小米5手机Android运行程序闪退出错解决方法
  3. android 程序开发的插件化
  4. Android学习手记(4) BroadcastReceiver监听电池信息

随机推荐

  1. LinearLayout中设置 水平且垂直 居中
  2. GridView 实现水平拖拉效果
  3. Android(安卓)APK 反编译工具
  4. Android(安卓)改变ImageView图片的Bitmap
  5. android 还原短信
  6. android studio在终端执行gradlew命令,报
  7. andoird HTTP 工具类
  8. Android(安卓)关机(reboot)流程
  9. android中ImageView、ImageButton、Butto
  10. android.util.Log常用的方法