问题:
热更新的lua文件代码没有生效,仍然执行了apk包里的旧文件,但是经过测试发现图片资源可以生效。
环境:我没有使用quick,直接使用了cocos Code IDE创建了lua工程,cocos引擎版本是3.3rc0;
现象描述:
1.使用了引擎自带的AssetsManagerEx工具类处理资源下载,工作正常,图片和lua文件都可以正常下载到设备可写目录:
local savepath = cc.FileUtils:getInstance():getWritablePath() … “luaTests”
- AssetsManagerEx工具在下载后设置了searchPath路径,输出日志查看,貌似也正确,按顺序类似这样:
/data/data/org.cocos2dx.hotUpdateT01/files/luaTests/src/
/data/data/org.cocos2dx.hotUpdateT01/files/luaTests/res/
/data/data/org.cocos2dx.hotUpdateT01/files/luaTests/
/assets/
/assets/src/
/assets/res/
3.下载成功后对新内容使用是这样的:
elseif eventCode == cc.EventAssetsManagerEx.EventCode.ALREADY_UP_TO_DATE or
eventCode == cc.EventAssetsManagerEx.EventCode.UPDATE_FINISHED then
print(“Update finished.”)
require(“AppEntry”)
AppEntry.lua里使用了更新后的代码,而对main.lua 更新文件自身都不需要热更新,AppEntry.lua的内容如下:
–游戏启动入口
require(“Game”)
game.preload()
game.startup()
结果,悲剧的发现,下载的文件怎么都不生效。。。,但一种情况例外:在调试模式下,是正常的,真的可以生效。
大侠们帮忙分析下,是啥原因?
