最近在學習音視頻的內容,在編寫jni報錯之后聋涨,在android的logcat中只能查看出時在哪個函數(shù)拓颓,哪個地方null point了或者是參數(shù)錯誤借跪,但是缺無法定位到哪一行孕惜,這樣就要在這個方法中尋找問題愧薛,那么就需要在jni中使用log來輸出查看結果。
1衫画、在cmakeLists.txt文件中引入android包
find_library(
log-lib
log)
target_link_libraries( # Specifies the target library.
audiotrackplay
#添加android本地庫
android
${log-lib})
接著就可以新建一個logcatUtils.h的文件
#ifndef AUDIOTRACKPLAY_LOGUTILS_H
#define AUDIOTRACKPLAY_LOGUTILS_H
#include <android/log.h>
#define TAG "++++++++" // 這個是自定義的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類型
#endif //AUDIOTRACKPLAY_LOGUTILS_H
最后使用的方式就和android中使用一樣了
void start(){
LOGI("這個是info的");
LOGE("這個對應android的error級別%d", d)
}
配合輸出的結果%d這個還是按照C語言的print方式進行輸出的毫炉。