Cocos2D-html5 发布游戏js编译为jsc
搞了老半天,这么回事啊,工具都在tools中。
jsb模式下是通过打包spidermonkey来运行JS代码的。
JS文件都在assets文件夹中。我们都知道assets文件夹,打包后的结果,将apk包解压后就可以直接拿到script
的源码。
官方工具cocos2d-console,该工具可以将script
编译为字节码。
该工具在官方发布包的tools目录下。
在发布的时候自动调用该工具,将js编译为jsc如下:
Android
在脚本pro.android/build_native.sh里加入自动编译的代码,如下:
- <span style="font-size:18px;">COCOS2D_CONSOLE=$COCOS2DX_ROOT/tools/cocos2d-console/console/
- python $COCOS2D_CONSOLE/cocos2d.py jscompile -s assets/script/ -d assets/script/;
- cd assets/script;
- find . -type f -name "*.js" | xargs rm -rf;
- cd ../../;</span>
注意:以上代码要放在调用NDK编译之前。
IOS
可以添加自定义的run script
选择 项目 -> TARGETS -> Build Phases -> Add Build Phases -> Add Run Script,添加代码如下:
- <span style="font-size:18px;">source ~/.bash_profile
- CONSOLE_PATH=$COCOS2DX_ROOT"/tools/cocos2d-console/console/";
- TARGET_DIR=$BUILT_PRODUCTS_DIR"/"$PRODUCT_NAME".app/";
- JS_DIR=$TARGET_DIR"/script/";
- /usr/bin/python $CONSOLE_PATH/cocos2d.py jscompile -s $JS_DIR -d $JS_DIR;
- find $JS_DIR -type f -name "*.js" | xargs rm -rf;</span>
在编译时就会自动调用该脚本。(需要在.bash_profile里定义cocos2dx的根目录,并且变量名为COCOS2DX_ROOT)
将js编译为字节码发布,大功告成了。