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里加入自动编译的代码,如下:

[plain] view plain copy
 
  1. <span style="font-size:18px;">COCOS2D_CONSOLE=$COCOS2DX_ROOT/tools/cocos2d-console/console/  
  2. python $COCOS2D_CONSOLE/cocos2d.py jscompile -s assets/script/  -d assets/script/;  
  3. cd assets/script;  
  4. find . -type f -name "*.js" | xargs rm -rf;  
  5. cd ../../;</span>  

注意:以上代码要放在调用NDK编译之前。

IOS

可以添加自定义的run script

选择 项目 -> TARGETS -> Build Phases -> Add Build Phases -> Add Run Script,添加代码如下:

[plain] view plain copy
 
  1. <span style="font-size:18px;">source ~/.bash_profile  
  2. CONSOLE_PATH=$COCOS2DX_ROOT"/tools/cocos2d-console/console/";  
  3. TARGET_DIR=$BUILT_PRODUCTS_DIR"/"$PRODUCT_NAME".app/";  
  4. JS_DIR=$TARGET_DIR"/script/";  
  5. /usr/bin/python $CONSOLE_PATH/cocos2d.py jscompile -s $JS_DIR  -d $JS_DIR;  
  6. find $JS_DIR -type f -name "*.js" | xargs rm -rf;</span>  

在编译时就会自动调用该脚本。(需要在.bash_profile里定义cocos2dx的根目录,并且变量名为COCOS2DX_ROOT)

将js编译为字节码发布,大功告成了。

posted on 2017-10-22 22:10  &大飞  阅读(993)  评论(0编辑  收藏  举报

导航