用lua开发了游戏,用下面的脚本加密成luac文件
cocos luacompile -s src/ -d out/ -e -k MyKey -b 123456
游戏在32位的iPhone手机下面没有问题,在64位的手机,如iPhone6下面,运行出现错误,提示:
“asserts/src/main.luac”, error: syntax error during pre-compilation.
原因:
那个luajit号称支持64位 只是支持明文 而不是字节码。 字节码支持x86-64(64位模拟器), 但是不支持arm64, 或者说支持arm64的字节码的方法很麻烦 cocos没有支持 并且64位的字节码和32位的也不是同一套
解决方法:
认真看了下cocos2d-console里面plugin_luacompile中的__init__.py,发现里面是有判断用不用luajit的。
if self._disable_compile:
shutil.copy(lua_file, dst_lua_file)
else:
self.compile_lua(lua_file, dst_lua_file)
对应的参数--disable-compile,按论坛说的,luajit可能性能更好一些,但我最重要的目的是加密,所以不用luajit,问题应该也不大。