본문 바로가기
Programmer/openCV for Android

Android openCV #2 - android studio에서 JNI debugging log 출력

by JaehwanPark 2017. 2. 28.

Android openCV #2 - android studio에서 JNI  debugging log 출력


1. CMakeList.txt 파일에 아래 내용 추가

#android log
find_library( android-lib android)
target_link_libraries( # Specifies the target library.
native-lib

# Links the target library to the log library
# included in the NDK.
${log-lib}
${android-lib}

lib_opencv )

2. 몇가지 편리한 사용을 위해서 별도의 header 파일 생성 (example : log.h)

#ifndef OPENCVTESTJNI_LOG_H
#define OPENCVTESTJNI_LOG_H

#include <android/log.h>

#define LOG_TAG "OPENCVTEST - JNI"

#define _UNKNOWN 0
#define _DEFAULT 1
#define _VERBOSE 2
#define _DEBUG 3
#define _INFO 4
#define _WARN 5
#define _ERROR 6
#define _FATAL 7
#define _SILENT 8

#define LOGUNK(...) __android_log_print(_UNKNOWN,LOG_TAG,__VA_ARGS__)
#define LOGDEF(...) __android_log_print(_DEFAULT,LOG_TAG,__VA_ARGS__)
#define LOGV(...) __android_log_print(_VERBOSE,LOG_TAG,__VA_ARGS__)
#define LOGD(...) __android_log_print(_DEBUG,LOG_TAG,__VA_ARGS__)
#define LOGI(...) __android_log_print(_INFO,LOG_TAG,__VA_ARGS__)
#define LOGW(...) __android_log_print(_WARN,LOG_TAG,__VA_ARGS__)
#define LOGE(...) __android_log_print(_ERROR,LOG_TAG,__VA_ARGS__)
#define LOGF(...) __android_log_print(_FATAL,LOG_TAG,__VA_ARGS__)
#define LOGS(...) __android_log_print(_SILENT,LOG_TAG,__VA_ARGS__)

#endif

3. 사용하고 있는 cpp 파일에 heder 파일 추가 및 사용! (example : native-lib.cpp)

#include "log.h"
int process(Mat img_input, Mat &img_result)
{
cvtColor( img_input, img_result, CV_RGBA2GRAY);
LOGD("%s : test log!",__FUNCTION__);
return(0);
}


댓글