在源码中添加LOG的话,使用下面的两种方式
<cutils/log.h>或
<utils/Log.h>
using namespace Android;
然后再Android.mk中添加liblog就可以了。
在调试Webkit中的JavaScriptCore时,发现有些.cpp文件使用上面这两种方式时,编译可以通过,但LOGW等方法打印不出来。
搜索了一下,发现一篇文章提到了另外的方法,稍做更改后,试了一下,问题解决。
1、按文章提到的添加头文件声明
#include <android/log.h>
#define LOG_TAG "show infomation"
#define LOGW(a ) __android_log_write(ANDROID_LOG_WARN,LOG_TAG,a)
2、更改Android.mk
实验后发现,不按照原文提到的方式,而是给LOCAL_SHARED_LIBRARIES变量中添加liblog就可以。
3、在如下代码前面添加#undef NDEBUG
#ifdef NDEBUG
#define JS_LOG(formatAndArgs...) ((void)0)
#else
#define JS_LOG(formatAndArgs...) { \
fprintf(stderr, "%s:%d -- %s: ", __FILE__, __LINE__, __FUNCTION__); \
fprintf(stderr, formatAndArgs); \
}
参考文章:
在Android源码中添加LOG