項目中,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,沒想通爲啥,以後有時間再研究。