您的位置:首页 > 移动开发 > Android开发

Android studio NDK笔记3-JNI添加打印信息

2017-12-05 22:08 405 查看
  开发过程中增加打印信息是必须的,在jni中printf属于linux应用的打印机制,在androd系统当中没有对应的输出机制,只有在终端下执行时才能回显出来,在jni中正确的打印方式应该是 调用NDK 下的log.h 来打印Log 日志,具体方法如下:

1.导入log库

在build.gradle中加入
ldLibs "log"


android {
defaultConfig {
ndk{
ldLibs "log"
}
}
}


加入
ldLibs "log"
以后,gradle会自动在项目的app/build/intermediates/ndk/debug底下的Android.mk中加入:

LOCAL_LDLIBS := -llog

2.导入log头文件

在.c或者.cpp文件中加入log.h头文件:

#include<android/log.h>


3.使用

可以先定义一个log tag:

#define TAG   "GOODLUCK"


再定义各个等级的log方法:

•#define LOGD(...)  __android_log_print(ANDROID_LOG_DEBUG,LOG,__VA_ARGS__) // 定义LOGD类型

•#define LOGI(...)  __android_log_print(ANDROID_LOG_INFO,LOG,__VA_ARGS__) // 定义LOGI类型

•#define LOGW(...)  __android_log_print(ANDROID_LOG_WARN,LOG,__VA_ARGS__) // 定义LOGW类型

•#define LOGE(...)  __android_log_print(ANDROID_LOG_ERROR,LOG,__VA_ARGS__) // 定义LOGE类型

•#define LOGF(...)  __android_log_print(ANDROID_LOG_FATAL,LOG,__VA_ARGS__) // 定义LOGF类型


使用:

LOGE("jni test");
LOGE("jni test width = %d",1);
LOGE("jni test str = %s","test");


加参数的打印类似于printf
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  android