为了支持64bit的iOS设备,我们该如何加密lua脚本呢?
cocos luacompile 命令加密的是不支持64bit的iOS设备的。
cocos2d-x-v3.5及之前的版本,因为luajit不支持64位,所以我们在iOS64位上使用了原生lua来解释执行。考虑到性能问题,其他所有的平台(包含iOS 32位),我们使用了luajit。这意味着如果想让一套lua脚本同时运行在iOS32位和64位设备上,那就不能使用lua字节码,lua和luajit生成的字节码是不兼容的。
cocos2d-x-v3.6的luajit支持arm64,取代了3.5版本之前iOS64位上使用了原生lua来解释执行的做法,大幅提升64位上的LUA运行性能。但值得注意的是:为了兼容之前的版本,我们同时包括了luajit32位和luajit64位,在arm32位的系统上调用的是luajit32位运行库,在arm64位的系统上调用的是luajit64位运行库。而luajit32和luajit64位的字节码是不同的,互不兼容。因此这意味着在cocos2d-x-v3.6如果想让一套lua脚本同时运行在iOS32位和64位设备上,我们依然不能使用lua字节码,用户在使用`cocos luacompile命令时需要带上–disable-compile True参数。
1赞
“用户在使用`cocos luacompile命令时需要带上–disable-compile True参数。 ”,这个不能对脚本加密啊。
有没有既能加密,又能支持iOS 64bit的方法???
已解决。
原因是,缺少参数:–encrypt
cocos luacompile -s src -d encrypt/src -k key_2015 -b 2015XXTEA --encrypt --disable-compile
1赞