第一步:gradle配置ndk

  ndk {
moduleName "Iso8583Lib"
ldLibs "log", "z", "m"
abiFilters "armeabi", "armeabi-v7a", "x86" //输出指定三种abi体系结构下的so库,目前可有可无。
}

第二步:在需要的C文件加载头

#include <android/log.h>

第三步:定义打印方便使用的函数

#define LOG_TAG  "C_TAG"
#define LOGD(...) __android_log_print(ANDROID_LOG_DEBUG, LOG_TAG, __VA_ARGS__)

第四步:测试使用

#include <jni.h>
#include <com_example_lanhe_android_jnistringdemo_jni_HelloWorld.h>
#include <android/log.h>
#define LOG_TAG "C_TAG"
#define LOGD(...) __android_log_print(ANDROID_LOG_DEBUG, LOG_TAG, __VA_ARGS__) JNIEXPORT jstring JNICALL Java_com_example_lanhe_1android_jnistringdemo_jni_HelloWorld_getHelloWorld
(JNIEnv *env, jobject thiz){
jstring hello = (*env)->NewStringUTF(env, "Hello Jni");
int helloLen=(*env) -> GetStringLength(env,hello);
LOGD("hello.length=%d",helloLen);
return hello;
}

结果如下:

额外:使用 __android_log_write 也是可以的。

备注:

调用其中的日志打印:

int __android_log_write(int prio, const char *tag, const char *text);

第一个参数为打印级别,为以下枚举之一:

typedef enum android_LogPriority {
ANDROID_LOG_UNKNOWN = ,
ANDROID_LOG_DEFAULT, /* only for SetMinPriority() */
ANDROID_LOG_VERBOSE,
ANDROID_LOG_DEBUG,
ANDROID_LOG_INFO,
ANDROID_LOG_WARN,
ANDROID_LOG_ERROR,
ANDROID_LOG_FATAL,
ANDROID_LOG_SILENT, /* only for SetMinPriority(); must be last */
} android_LogPriority;

参考资料:

http://blog.csdn.net/h183288132/article/details/50379450

最新文章

  1. js常用函数陆续总结
  2. 用Google Analytics跟踪JavaScript Errors (译)
  3. /MT /MD /ML /MTd /MDd /MLd 的区别
  4. NPC AI驱动最基本过程
  5. 转 Eclipse下svn的创建分支/合并/切换使用
  6. 使用rdesktop远程连接Windows桌面
  7. xhr.readyState的就绪状态
  8. 安卓和 java 学习笔记
  9. Python rich comparisons 自定义对象比较过程和返回值
  10. python进阶之time模块详解
  11. 【转】Mysql索引设计原则
  12. js 数组对象的操作方法
  13. HashMap几个需要注意的知识点
  14. SOC 与 ARM
  15. chattr与lsattr命令
  16. 我的GTD起步
  17. vue -Missing space before value for key &#39;path&#39;vue.js解决空格报错
  18. bzoj 1013: [JSOI2008]球形空间产生器sphere【高斯消元】
  19. HDU 1964 Pipes (插头DP,变形)
  20. Android系统级技巧合集

热门文章

  1. SQL性能分析
  2. oracle12c创建用户等问题
  3. 【BZOJ2326】【HNOI2011】数学作业 [矩阵乘法][DP]
  4. php session 阻塞 过期不自动清除session文件
  5. django执行sql
  6. bootstrap——集合
  7. andriod开发增加一个菜单
  8. Linux下安装mantis配置指南【转】
  9. mvn常用的构建命令
  10. 【bzoj4094】【洛谷3097】Optimal Milking