cocoscreater android构建第三方插件protobuf.js的问题

我引入第三方插件protobuf.js android构建时bug:

控制台上信息:Build Failed: Error: Failed to compile js files [D:\pro_cocoscreate1.6\hsgged\build\jsb-binary\src]

native.log上信息:
正在处理 js 文件。
正在将 D:\pro_cocoscreate1.6\hs_hzmj\build\jsb-binary\src\assets\scripts\3rdparty\protobuf\protobuf.js 编译为字节码…
正在执行:’“D:\Programe\CocosCreator\resources\cocos2d-x\tools\cocos2d-console\plugins\plugin_jscompile\bin\jsbcc” “D:\pro_cocoscreate1.6\hs_hzmj\build\jsb-binary\src\assets\scripts\3rdparty\protobuf\protobuf.js” “D:\pro_cocoscreate1.6\hs_hzmj\build\jsb-binary\src\assets\scripts\3rdparty\protobuf\protobuf.jsc”’

执行命令出错,返回值:-1073741701。

在1.4.2版本上没问题的,1.6版本就出现这个问题了。

补充:1.5.2版本也能正常,就是1.6版本有这个问题!

好尴尬…我们还在犹豫1.6

1.6 版本的 JSCompiler 也升级到了 Spidermonkey v52,问一下你们是 windows 环境还是 mac 环境?能不能把你这份 protobuf.js 发上来一下

protobuf.rar (46.8 KB)

这个是Windows下的环境测试的,mac上没有java环境,没测过

你好,我使用你上传的附件后,做为插件导入后进行android和win32的release版本编译都没有出现报错,我的环境是win7-64位,请问你每次编译都报错吗?还是概率性?你的windows环境是?

你好,这个问题是必现的,环境是是Windows7-64,用1.52正常,升级到1.6就有这个问题,再退回1.5.2又正常了,我用另一台Windows再测一下,确定一下问题

你好,我测试另一台Win7-64,重新建了一个工程,不是插件的问题,任何一个js文件都会出现 Failed to compile js files,如何你们那边win7-64没问题,只能猜测是环境问题,java的版本?Android-sdk还是其他问题

你好,测试1.6版本 mac上Android构建没有出现这个问题

你好,你新建的工程是creator自带的工程模板吗?如example-case或者helloworld工程,这些工程本身就自带了js脚本文件,你用这些工程去构建也是会报错是吗?

麻煩你試一下將這個文件夾解壓到 cocos2d-x/tools/cocos2d-console/plugins/plugin_jscompile/bin 下看看?

https://pan.baidu.com/s/1gfipOUB

注意:先把原來的 jsbcc.exe,mozjs-52.dll,nspr4.dll 備份一下

你好,我重新建过helloworld工程,构建时compile自带的js文件也会出现这个问题

你好,我替换了,还是会出现这个问题

需要 @panda 来解决了

目前也没什么想法,你先用 mac 版本,我们尽量重现

确实有这个问题, 我的解决方法是不在将protobuf.js做为插件脚本, 而是在脚本中require, 就好了.
可以先这样解决, 等官方修复以后再改回插件脚本.

好的,谢谢cocos团队的热心解答

谢谢你的建议,我试试,不行的话就只能先用mac打包了

反馈一下问题,只要勾选调试模式,编译就能通过。想问一下调试模式和非调试有什么区别吗?

非调试模式会去编译所有 js 脚本为 jsc 二进制文件,前面报错也就是这个编译过程失败了