您的位置:首页 > 移动开发 > Android开发

Android WebKit EventSource 支持修改记录

2012-11-05 13:45 351 查看
转载请注明出处:http://blog.csdn.net/lihui130135

作者:李东辉

邮件:lihui40319@gmail.com

最近有人问道如何解决在android4.0平台上支持Event Source事件,好方便与服务器通讯

如果不支持的话就打印下面的错误

“Uncaught ReferenceError: EventSource is not defined"

因为EventSource事件是针对html5标准而做,这个在webkit开源组织里面已经在2010年的时候就已经支持了,按照道理说是开启

这样-DENABLE_EVENTSOURCE=1的开关就可以直接运行了

我给出的建议:

修改webkit/Source/Android.mk 添加一句话

LOCAL_CFLAGS += -DENABLE_EVENTSOURCE=1

或者在 external/webkit/Source/JavaScriptCore/wtf/Platform.h

#define ENABLE_EVENTSOURCE 1

结果发现尝试不行,今天拿出时间专门顺理了下,发现要支持这个功能需要修改的地方还有以下这么几处:



(1)

webkit/Source/Android.mk

添加 LOCAL_CFLAGS += -DENABLE_EVENTSOURCE=1

(2)

external/webkit/Source/JavaScriptCore/wtf/Platform.h

添加

#define ENABLE_EVENTSOURCE 1

(3)

webkit/Source/WebCore/Android.mk

添加

page/EventSource.cpp \

(4)

如果JS引擎用的是JSC

webkit/Source/WebCore/Android.jscbindings.mk

添加:bindings/js/JSEventSourceCustom.cpp \

V8的话使用

webkit/Source/WebCore/Android.v8bindings.mk

添加:bindings/v8/custom/V8EventSourceConstructor.cpp \

这样重新编译webkit

就可以支持了。

我是在android4.0.1平台上做的实验,每个版本可能各有不同,基本思路大同小异。

有什么疑问可以直接给我留言。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: