weex早期在Android上使用的是V8,但经过测试,JavaScriptCore的性能比V8的性能更好,所以便用JavaScriptCore全面替代了V8
主分支默认使用由 UC 提供的 V8 引擎,默认只提供 armeabi-v7a, x86 两个版本的引擎。
系统只能是ubuntu 16.04,因为编译的时候需要gcc-4.7的头文件。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
$ cd ~ $ mkdir Android $ cd Android # 只能使用r11c编译,其他版本编译不通过 $ wget https://dl.google.com/android/repository/android-ndk-r11c-linux-x86_64.zip $ unzip android-ndk-r11c-linux-x86_64.zip $ sudo apt-get install gperf bison flex perl # 如遇到缺少 bits/c++config.h 的情况,输入以下命令安装gcc编译相关库 $ sudo apt-get install gcc-4.7 g++-4.7 gcc-4.7-multilib g++-4.7-multilib # 默认 GCC 切换到 gcc-4.7 $ sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.7 20 --slave /usr/bin/g++ g++ /usr/bin/g++-4.7 $ cd ~ $ export PATH=~/Android/android-ndk-r11c/:"$PATH" # git clone https://github.com/alibaba/weex_js_engine.git $ git clone https://github.com/wangqiang1588/weex_js_engine.git $ cd weex_js_engine $ ndk-build |
集成 V8 引擎的话,需要使用
1 |
implementation 'org.apache.weex:sdk_legacy:0.28.0@aar' |
编译 bridge_branch_mergeTimer 分支,该分支使用了 JavaScriptCore 取代了默认的 V8 引擎。默认提供 armeabi-v7a, x86, arm64-v8a 三个版本的引擎。
系统建议使用 ubuntu 20.04。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
$ cd ~ $ mkdir Android $ cd Android # 只能使用r18b编译,其他版本编译不通过 $ wget https://dl.google.com/android/repository/android-ndk-r18b-linux-x86_64.zip $ unzip android-ndk-r18b-linux-x86_64.zip $ sudo apt-get install cmake $ sudo apt-get install ruby ruby-dev $ sudo apt-get install ninja-build $ cd ~ $ export PATH=~/Android/android-ndk-r18b/:"$PATH" # git clone https://github.com/alibaba/weex_js_engine.git $ git clone https://github.com/wangqiang1588/weex_js_engine.git $ cd weex_js_engine $ git checkout bridge_branch_mergeTimer # 编译armeabi-v7a $ bash build.jsc.sh # 编译 arm-64 $ bash build.jsc.sh -t arm64 |