결국 실제 조건을 확인하기 위해서 풀컴파일후 해당파일 터치후 컴파일 옵션에 임시파일 보존 속성 추가후 다시 컴파일
mydroid/build/core/config.mk 에 --save-temps 추가
COMMON_GLOBAL_CFLAGS:= -DANDROID -fmessage-length=0 -W --save-temps -Wall -Wno-unused -Winit-self -Wpointer-arith
생성된 android_bluetooth_HeadsetBase.ii 확인시 warn 이상 부터 나오도록 조건이 걸려 있다. 아래와 같다
이 레벨을 지정하는 (1 == 0)은 무엇일까? 찾아보자.
mydroid/system/core/include/cutils/log.h 에 보면 레벨별로 LOG_NDEBUG, LOG_NDDEBUG, LOG_NIDEBUG 임을 알 수 있다.
#define LOG(priority, tag, ...) \
LOG_PRI(ANDROID_##priority, tag, __VA_ARGS__)
({ \
if (((priority == ANDROID_LOG_VERBOSE) && (LOG_NDEBUG == 0)) || \
((priority == ANDROID_LOG_DEBUG) && (LOG_NDDEBUG == 0)) || \
((priority == ANDROID_LOG_INFO) && (LOG_NIDEBUG == 0)) || \
(priority == ANDROID_LOG_WARN) || \
(priority == ANDROID_LOG_ERROR) || \
(priority == ANDROID_LOG_FATAL)) \
(void)android_printLog(priority, tag, __VA_ARGS__); \
})
결론 :
mydroid/frameworks/base/core/jni/android_bluetooth_common.h 에보면
#define LOG_NDEBUG 1 로 되어 있는것을 #define LOG_NDEBUG 0 으로 바꾸면 된다.
코드 상단부에 하기 부분 추가
#define LOG_NDEBUG 0
#define LOG_NDDEBUG 0
#define LOG_NIDEBUG 0
ps. http://jusung.springnote.com/pages/4819403
WebCore에 테스트 중인 코드에서 드디어 로그를 볼 수 있게 되었네..
webcore/config.h를 해당 cpp파일에 include하게 되면은 LOG가 동작을 않한다.
이유는 config.h에 <wtf/assertions.h>를 포함하게 되는데 assertions에 미리 정의된 LOG 매크로가
<utils/Log.h>에서 정의해야할 LOG 매크로에 영향을 주어 실지로 android_log가 동작하는 것이 아니라
assertions에 정의된 LOG가 동작하여 adb logcat에 아무런 정보가 출력되지 않는 것이다.
## 일반 적인 Android Native에서 로그 볼때 파일 상단에
#define LOG_TAG "CustomLogTag" // 원하는 로그테그를 작성
#define LOG_NDEBUG 0 // LOGV까지 보고 싶으면 값을 0을 주고 LOGI, LOGD, LOGW, LOGE만 보고 싶으면 1을 주던지 않쓰면 된다.
#include <utils/Log.h>
## WebCore 하부에서 Android Native 로그를 볼때
#include "config.h" // config.h 밑에다 아래 내용을 정의 해야 된다.
#undef LOG // Assertions에 정의된 LOG를 undefine하고 밑에 utils/log.h에서 재정의 하게 한다.
#define LOG_TAG "CustomLogTag"
#define LOG_NDEBUG 0
#include <utils/Log.h>
'개발 개발 > Android' 카테고리의 다른 글
CTS 정리 (0) | 2011.12.20 |
---|---|
임의로 Call stack(콜스택) 찍기 (0) | 2011.12.16 |
[안드로이드] 네이티브 어플리케이션 설치 (0) | 2011.11.30 |
Android build system - makefile 기본 빌드 과정 (0) | 2011.11.30 |
안드로이드 소스의 버전을 볼려면 어떤 파일을 봐야 하는가? (0) | 2011.11.29 |