android-如何在jni中C/C++层打印log到logcat
来源:互联网 发布:中国海外并购数据 编辑:程序博客网 时间:2024/05/21 08:50
最近在做android jni的开发,需要输出一些log方便调试分析问题,但是jni层里不能像纯android开发一样直接Log.v("xxx",xxx)
,而使用C中常用的printf
也不起作用。下面将在网上找到的方法,经过验证整理出来。
在jni的C++层打印log信息的步骤
- 1.在Android.mk文件中加入:
LOCAL_LDLIBS := -llog
- 2.在要使用LOG的cpp文件中加入:
#include <android/log.h>
- 3.直接使用
__android_log_print
函数, 代码举例:
char * name = "mronion";__android_log_print(ANDROID_LOG_INFO, "lclclc", "my name is %s\n", name); //log i类型
如下图可以在logcat上看到输出结果:my name is mronion
改进
直接使用__android_log_print
太麻烦了,我们可以定义一些log的方法,上述第二步改为:
#include <android/log.h>#define TAG "projectname" // 这个是自定义的LOG的标识 #define LOGD(...) __android_log_print(ANDROID_LOG_DEBUG,TAG ,__VA_ARGS__) // 定义LOGD类型 #define LOGI(...) __android_log_print(ANDROID_LOG_INFO,TAG ,__VA_ARGS__) // 定义LOGI类型 #define LOGW(...) __android_log_print(ANDROID_LOG_WARN,TAG ,__VA_ARGS__) // 定义LOGW类型 #define LOGE(...) __android_log_print(ANDROID_LOG_ERROR,TAG ,__VA_ARGS__) // 定义LOGE类型 #define LOGF(...) __android_log_print(ANDROID_LOG_FATAL,TAG ,__VA_ARGS__) // 定义LOGF类型
使用举例:
char * name = "mronion";LOGD("my name is %s\n", name );
该写法就类似于平时android开发时打log的写法,是不是亲切很多。
阅读全文
0 0
- android-如何在jni中C/C++层打印log到logcat
- Android jni 开发中C/C++层打印Log信息
- 如何在Android jni 的c/c++中打Log
- jni开发中在c文件中打印log日志
- 使用jni实现在C语言中打印log信息
- Android环境在C代码中使用logcat获取log
- Android JNI(3) --在C代码中使用logcat
- Android中调用c函数来打印log---(JNI)
- Android JNI编程(八)——体验AS2.2.2编写Jni程序、Java调C、C调Java函数、将C代码中的Log打印至Logcat
- Android c/c++层打印log信息
- 如何在android 系统 C/C++ 层中添加 log 信息
- 如何在android 系统 C/C++ 层中添加 log 信息
- 如何在android 系统 C/C++ 层中添加 log 信息
- Android Studio NDK开发在C代码中将Log输出到logcat上面
- android jni 打印信息到logcat
- JNI本地文件中打印输出到LOGCAT
- Android4.1 JNI 中打印的LOG 无法在 logcat 中输出
- Android JNI中增加LOGCAT,LOG
- mysql 分库分表
- iOS-UITextField代理协议中方法
- Kotlin 初体验:主要特征与应用
- 拿什么来拯救焦头烂额的DBA?
- 2017年11场下半年热门电子商务相关会议电商峰会合集
- android-如何在jni中C/C++层打印log到logcat
- 如何做好一个合格程序员
- 【笔记+模板】图论中的树
- MyEclipse 10.0及更高版本激活
- Python爬虫框架--Scrapy
- Android socket获取服务器返回的多行数据
- JVM内幕:Java虚拟机详解
- HDU 1260 Tickets dp
- Maven那点事儿(Eclipse版)