Programming & Tools/Android2011. 2. 24. 12:07
JNI를 사용하여 라이브러리 생성 시 디버깅 하기가 어렵다.
이를 해결하기 위해서 일반 printf 처럼 사용하는 방법이다.

1) android_log.h 파일을 생성한다.

#ifndef __ANDROID_LOG_H__

#define __ANDROID_LOG_H__


#include <android/log.h>


#define LOGV(...) __android_log_print(ANDROID_LOG_VERBOSE, "libnav", __VA_ARGS__)

#define LOGD(...) __android_log_print(ANDROID_LOG_DEBUG, "libnav", __VA_ARGS__)

#define LOGI(...) __android_log_print(ANDROID_LOG_INFO, "libnav", __VA_ARGS__)

#define LOGW(...) __android_log_print(ANDROID_LOG_WARN, "libnav", __VA_ARGS__)

#define LOGE(...) __android_log_print(ANDROID_LOG_ERROR, "libnav", __VA_ARGS__)


#endif /* __ANDROID_LOG_H__ */



2) Android.mk 파일에 라이브러 추가.

LOCAL_LDLIBS := -L$(SYSROOT)/usr/lib -llog

LOCAL_CFLAGS := -DCONFIG_EMBEDDED\ -DUSE_IND_THREAD\



3) 디버깅 할 c 파일에 #include "android_log.h" 추가.

4) Eclipse 에서 디버그로 실행 하면 Log cat 창으로 출력.

* Log cat 은 Window > Show View > Other > Log cat 에 있음.
Posted by 다크쌍피