在Android中使用JavaScript

2,147 阅读1分钟

  • JavaScriptCore

https://trac.webkit.org/wiki/JavaScriptCore

JavaScriptCore是一个在WebKit中提供JS引擎的开源框架,使用C语言编写,因此在Android开发中并不能直接使用。Github上的开源项目AndroidJSCore能够帮助开发者经过调用Java接口而使用JavaScriptCore。

https://github.com/ericwlange/AndroidJSCore

  • V8

https://developers.google.com/v8/

V8是由Google开发并维护的高性能开源JS引擎,采用C++编写,使用于Google Chrome浏览器。同JavaScriptCore一样,在Android开发中,相关接口需要通过一层包装进行调用。Github上的开源项目J2V8

https://github.com/eclipsesource/J2V8

  • Rhino

https://developer.mozilla.org/en-US/docs/Mozilla/Projects/Rhino

Rhino是由Mozilla开发的开源JS引擎。采用Java编写,因此可以直接调用,在JDK 6、JDK 7中更是捆绑了该引擎。

所以,目前在Android中有三种可选的开源方案,JavaScriptCore+AndroidJSCore、V8+J2V8和Rhino。


参考文章:
https://neyoufan.github.io/2016/12/23/android/Android%20Js引擎/在Android上使用JS引擎是一种什么样的体验?/

https://www.oschina.net/translate/how-to-choose-a-javascript-engine-for-ios-and-android-apps