JNI输出log信息

1、修改Android.mk

如生成的库文件是“.so文件”,则在Android.mk中添加如下内容:

LOCAL_LDLIBS:=-L$(SYSROOT)/usr/lib -llog

如生成的库文件是“.a文件”,则在Android.mk中添加如下内容:

LOCAL_LDLIBS:=-llog

2 在.c或.cpp文件中引用log头文件

添加如下内容:

// 引入log头文件
#include
// log标签
#define  TAG    "hello_load"
// 定义info信息
#define LOGI(...) __android_log_print(ANDROID_LOG_INFO,TAG,__VA_ARGS__)
// 定义debug信息
#define LOGD(...) __android_log_print(ANDROID_LOG_DEBUG, TAG, __VA_ARGS__)
// 定义error信息
#define LOGE(...) __android_log_print(ANDROID_LOG_ERROR,TAG,__VA_ARGS__)

ANDROID_LOG_INFO:是日志级别;
TAG:是要过滤的标签,可以在LogCat视图中过滤。
__VA_ARGS__:是实际的日志内容。
完成上面2步之后,我们就可以在.c/cpp文件中添加LOGI、LOGD、LOGE去打印信息!

时间: 2024-10-06 00:22:08

JNI输出log信息的相关文章

关于在Eclipse下logcat无法输出log信息的问题

问题陈述: 在Eclipse中设置Log信息输出的时候,无论自己怎么设置都无法 输出log信息.最初尝试了各种各样的方法,均以失败结尾. 重启Eclipse 在DDMS下Reset adb 在DDMS下点击运行的device,重新获取焦点 在DDMS下debug相应的进程,也就是我们应用程序对应的 ······ 解决方法: 无意间在网上找到了解决方法,很是激动,尝试了一番,哎哟,成功了. 问题原来出在LogCat配置里默认是Error,这自然就无法输出低于该等级的日志了.稍加修改即可. 不过LZ

实现Android Studio JNI开发C/C++使用__android_log_print输出Log

相信很多人在刚开始学习Android JNI编程的时候,需要输出Log,在百度Google搜索的时候都是说需要在Android.mk中加入LOCAL_LDLIBS+= -L$(SYSROOT)/usr/lib -llog ,其实这是在eclipse开发上的方式,Android Studio并不是这么使用. Android Studio的Android.mk是自动生成的,就算修改也是没用了,实际Android Studio的Android.mk是根据gradle文件生成的,那么就需要修改gradl

NSLog (Log信息的输出)

概述 NSLog是 cocoa的框架中提供的一个方法 NSLog的定义 NSLog定义在NSObjCRuntime.h中 NSLog与printf的差异 1)NSLog传递进去的格式化字符是NSString的对象,而不是char *这种字符串指针 2)NSLog会自动换行,printf不会自动换行 3)NSLog会自动输出时间等项目信息,printf不会输出调试信息 NSLog格式化输出的问题 int a= 5; float f1 = 2.3f; double d1= 3.14; char ch

Golang之beego读取配置信息,输出log模块

1,准备好配置文件 [server] listen_ip = "0.0.0.0" listen_port = 8888 [logs] log_level=debug log_path=./logs/logagent.log [collect] log_path=D:\project\logs\logagent.log topic=nginx_log chan_size=100 通过golang读取配置文件 package main import ( "fmt" &q

查看与输出日志信息

查看与输出日志信息: 1.优先级级别从高到低: Error > Warning > Info > Debug > Verbose 2.日志输出的3种方式: (1)       Log.i (2)       System.out.println (3)       System.err.println 3.实践: 1 package com.example.test; 2 3 import android.test.AndroidTestCase; 4 import android

nohup 配置不输出日志信息的方法及linux重定向学习

起因 最近使用nohup创建了一个后台进程,默认日志输出到了nohup.out文件中,程序跑起来也就没再管, 过了大约一周,发现硬盘空间不够了,于是查找原因,发现这个nohup.out文件已经到了70G了,导致硬 盘空间不足了. 解决方案 只输出错误信息到日志文件 nohup ./program >/dev/null 2>log & 什么信息也不要 nohup ./program >/dev/null 2>&1 & 知识补充,关于Linux的重定向 Linu

【android】 adb logcat命令查看并过滤android输出log

cmd命令行中使用adb logcat命令查看android系统和应用的log,dos窗口按ctrl+c中断输出log记录. logcat日志中的优先级/tag标记: android输出的每一条日志都有一个标记和优先级与其关联. 优先级是下面的字符,顺序是从低到高: V — 明细 verbose(最低优先级) D — 调试 debug I — 信息 info W — 警告 warn E — 错误 error F — 严重错误 fatal S — 无记载 silent 标记是一个简短的字符串,用于

AIX系统中使用bsdlog函数输出内核信息

AIX系统中使用bsdlog函数输出内核信息 (1)修改syslogd进程的配置文件/etc/syslog.conf,使用echo命令在文件末尾添加内容“kern.info /tmp/kerninfo.log” echo “kern.info /tmp/kerninfo.log” >> /etc/syslog.conf (2)使用touch命令创建kerninfo.log文件,用此文件作为kernel info级别消息的输出文件 touch /tmp/kerninfo.log (3)重启sys

make输出log以及dry run

一.输出log 如何获得Linux下make的log? 如何保存控制台对话? 如何将编译过程的信息保存成日志? 编译的过程可能会出错,导致编译过程无法继续进行.详细分析出错信息,有助于解决源码中的语法错误. 那么如何保存配置编译过程的信息?这些信息量很大,都可能超出Shell向上翻滚查看的范围.最好是把编译过程的信息保存成日志文件,方便后面的分析. 举例说明保存编译信息的行命令,它把make过程打印的所有信息都保存在xxx.log中. $make 2>&1|tee xxx.log 这条命令是