XJSRuntime是一款高可用、高稳定性、高性能、支持多款JavaScript引擎(QuickJS、JSC、V8)的JavaScript运行时(JS执行器)。你可以用它来做什么?
- 如果你想自研一款跨平台方案,类似:ReactNative,你一定需要它;
- 如果你想在你的Android应用中嵌入一个JS执行器,但又不想增加包体积,你可以将JavaScript引擎切换为QuickJS
- .....
本开源库中的的代码均在线上使用,经过百万级别PV验证,QuickJS引擎崩溃率甚至低于10万分之一
本库中使用的JS引擎均来自开源社区,可靠性很有保证,以下具体说明:
jsc使用的是RN开源社区项目编译的jsc.so,
项目中使用的jsc.so下载地址: https://registry.npmjs.org/jsc-android/-/jsc-android-250230.2.1.tgz (250230.2.1是当前使用的版本,不同版本换版本号即可)
另:初始化jsc成功后,在Android logcat中可以看到打印的jsc版本JavaScriptCore.Version: 250230.2.1
项目中使用的qjs.so下载地址:https://github.com/OrangeLab/Hummer-Virtual-JS-Engine/releases/download/2.1.5/napi_qjs_v2.1.5.tar.gz
若需自行编译,请按照以下步骤进行:
-
环境配置:gn, ninja, Android NDK
-
ninja
: https://github.com/ninja-build/ninja/wiki/Pre-built-Ninja-packages -
Android NDK
: https://github.com/android/ndk/wiki/Unsupported-Downloads,版本建议:21.4.7075529
-
git clone [email protected]:OrangeLab/Hummer-Virtual-JS-Engine.git
-
git submodule init
-
git submodule update
-
将BUILDCONFIG.gn文件所配置的ndk_path修改为你本机上Andoird NDK安装路径
-
sh build-qjs-android.sh
https://cdn.npmmirror.com/packages/v8-android/11.1000.4/v8-android-11.1000.4.tgz