vs下c语言打印日志,C语言中打印log到android控制台

一、引入log库

1.如果是使用android.mk的方式手动生成so库,在android.mk的配置文件中加入配置:

LOCAL_LDLIBS += -llog

620861484ab4?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation

2.如果是使用构建脚本的方式生成so库,需要在build.gradle文件的ndk闭包中配置:

defaultConfig {

applicationId "com.huyingzi.xxxx"

minSdkVersion 15

targetSdkVersion 22

versionCode 1

versionName "1.0"

testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"

ndk{

moduleName "helloword"

abiFilters "armeabi","armeabi-v7a","x86"

ldLibs "log" //引入log库

}

}

3.如果是使用Cmake的方式构建so库,在CMakeLists.txt文件里面已经默认引入log库不需要再自行配制

二、C代码中引入头文件

#include

#define LOG_TAG "System.out"

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

#define LOGI(...) __android_log_print(ANDROID_LOG_INFO, LOG_TAG, __VA_ARGS__)

三、打印日志的代码(跟C语言中printf的使用方式一样)

//打印logcat

LOGD("name=%s age=%f\n",name,age);

四、给jni日志添加开关

#include

#define DEBUG 0 //日志开关,1为开,其它为关

#if(DEBUG==1)

#define LOG_TAG "JNI"

#define LOGV(...) __android_log_print(ANDROID_LOG_VERBOSE,TAG,__VA_ARGS__)

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

#define LOGI(...) __android_log_print(ANDROID_LOG_INFO, LOG_TAG, __VA_ARGS__)

#define LOGE(...) __android_log_print(ANDROID_LOG_ERROR, LOG_TAG, __VA_ARGS__)

#else

#define LOGV(...) NULL

#define LOGD(...) NULL

#define LOGI(...) NULL

#define LOGE(...) NULL

#endif

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值