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


更多相关文章

  1. google Android编译本地C++程序方法
  2. 【Android】原生安装和卸载应用
  3. 使用华为手机在Android(安卓)Studio上进行真机调试报install fai
  4. 踩坑实录 Android(安卓)Studio真机测试时 Error while Installin
  5. 【Android】结束活动退出程序的方法
  6. 安卓开发:学生信息管理小程序
  7. Android(安卓)Handler的使用!!!
  8. Android中获取应用程序(包)的大小-----PackageManager的使用(二)
  9. android 内存占用 分析工具

随机推荐

  1. Android(安卓)Studio中使用过程中遇到的
  2. 在iOS和Android中使用二维码ZXing库及常
  3. android多activity退出整个程序的一个实
  4. Android(安卓)防止PC端第三方流氓软件强
  5. matix in Android
  6. Android中实现应用程序的国际化与本地化
  7. Android手机开发:android:layout_weight属
  8. Android(安卓)SearchView和ListView的结
  9. 在qemu的beagleboard上运行android
  10. android gen 目录消失