项目中,C++代码中std::out的输出信息 logcat无法捕获;
添加LOG到项目中;
第一步:在对应的mk文件中加入:LOCAL_LDLIBS := -llog
第二步:在要使用LOG的cpp文件中加入:
#include <android/log.h> //ndk中的头文件
#define LOG_TAG "MY PROJECT NAME"
#define LOGV(...) __android_log_print(ANDROID_LOG_VERBOSE,LOG_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 LOGW(...) __android_log_print(ANDROID_LOG_WARN,LOG_TAG, ##__VA_ARGS__)
#define LOGE(...) __android_log_print(ANDROID_LOG_ERROR,LOG_TAG, ##__VA_ARGS__)
根据需要使用不同level的LOGx宏。
由于log的level有多个,想定义一个宏
#define LOG_DEFINE(LEVEL) __android_log_print(LEVEL,LOG_TAG, ##__VA_ARGS__)
之后日志定义:
#define LOG_DEFINE(ANDROID_LOG_VERBOSE)
#define LOG_DEFINE(ANDROID_LOG_DEBUG)
#define LOG_DEFINE(ANDROID_LOG_INFO)
#define LOG_DEFINE(ANDROID_LOG_WARN)
#define LOG_DEFINE(ANDROID_LOG_ERROR)
这样编译不过,提示__VA_ARGS__ undefine,没想通为啥,以后有时间再研究。