根据官方文档里面的热更新教程做完热更功能之后。第一次启动游戏能正常检测到更新,更新完成之后能够正常进入热更到的第二个scene。本来以为热更做好了。。。没想到手动退出app之后,再次进入游戏的时候,之前热更到的第二个scene找不到了。有没有大佬能指教一下,感谢感谢感谢。。
自顶一下,搞了几个小时了。。。一直搞不清楚原因,有没有大佬能够帮忙指点一下
热更的资源放在了一个目录,你需要写上启动的时候先在这个目录里找资源。还是热更没做好,只要你重启找不到热更的资源,就是目录搜索没做好,热更爬坑爬了一个星期的路过
可是我已经在main.js添加了搜索路径了啊,要是路径不对第一次怎么能进呢
我的热更完的重启操作
// Prepend the manifest’s search path
var searchPaths = jsb.fileUtils.getSearchPaths();
var newPaths = this._am.getLocalManifest().getSearchPaths();
console.log(JSON.stringify(newPaths));
Array.prototype.unshift.apply(searchPaths, newPaths);
// This value will be retrieved and appended to the default search path during game startup,
// please refer to samples/js-tests/main.js for detailed usage.
// !!! Re-add the search paths in main.js is very important, otherwise, new scripts won’t take effect.
cc.sys.localStorage.setItem(‘HotUpdateSearchPaths’, JSON.stringify(searchPaths));
jsb.fileUtils.setSearchPaths(searchPaths);
启动时打印打印搜索路径啥的,一点点排查
谢谢大佬耐心解答。。
this._am.setEventCallback(null);
this._updateListener = null;
// Prepend the manifest’s search path
var searchPaths = jsb.fileUtils.getSearchPaths();
var newPaths = this._am.getLocalManifest().getSearchPaths();
console.log(“newPaths:”+JSON.stringify(newPaths));
Array.prototype.unshift.apply(searchPaths, newPaths);
// This value will be retrieved and appended to the default search path during game startup,
// please refer to samples/js-tests/main.js for detailed usage.
// !!! Re-add the search paths in main.js is very important, otherwise, new scripts won’t take effect.
cc.sys.localStorage.setItem(‘HotUpdateSearchPaths’, JSON.stringify(searchPaths));
jsb.fileUtils.setSearchPaths(searchPaths);
cc.audioEngine.stopAll();
cc.game.restart();
我的是这样,应该没有问题。第一次热更之后自动重启是能进入到热更的场景的。退出app之后再进就不会走这段代码了,应该不是这里影响的
那就是main.js 有深坑,而且搜路径的语句写错地方也会不生效,你看看是不是这个原因
刚刚又测试了下,在已有文件里面修改内容热更之后,重启app也是生效的。但是增加scene,只有在第一次热更完自动重启才生效,之后退出app再进就没用了。。是不是热更下来的scene又被remove了
路过的大佬帮帮忙
在一些关键的地方增加log,比如搜索路径
打log出来看,确认手动重启app和第一次热更完自动重启的搜索路径是一样的
官方的那个例子会加两遍searchpath的代码。
一次是在模板里面,另外一次是插件监听构建完毕的时候。我是采用的模板 的方式,去掉了插件的那里。
感谢感谢。。。可以了
感谢感谢 解决了
mark 一下


