在Android源码的JavaScriptCore引擎中添加LOG


在源码中添加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

相关内容