3.3.2 热更新重启报错

  • Creator 版本:3.3.2

  • 目标平台:Android

  • 重现方式:热更完成后调用 game.restart() 重启游戏

  • 首个报错:

2021-11-27 10:24:55.477 27862-27891/org.k.m.debug D/jswrapper: JS: updateCb UPDATE_FINISHED
2021-11-27 10:24:55.477 27862-27891/org.k.m.debug D/jswrapper: JS: updateCb 更新成功,重启新资源登陆
2021-11-27 10:24:55.478 27862-27891/org.k.m.debug D/jswrapper: JS: ["/data/user/0/org.k.m.debug/files/poker-remote-asset/"]
2021-11-27 10:24:55.540 27862-27891/org.k.m.debug E/jswrapper: ERROR: Uncaught TypeError: Cannot read property ‘0’ of undefined, location: src/cocos-js/cc.js:0:0
STACK:
- [0]getStencilStage@src/cocos-js/cc.js:21164
- [1]autoMergeBatches@src/cocos-js/cc.js:31389
- [2]commitComp@src/cocos-js/cc.js:31286
- [3]_render@src/cocos-js/cc.js:22064
- [4]updateAssembler@src/cocos-js/cc.js:21480
- [5]_preProcess@src/cocos-js/cc.js:31483
- [6]walk@src/cocos-js/cc.js:31456
- [7]walk@src/cocos-js/cc.js:31464
- [8]walk@src/cocos-js/cc.js:31464
- [9]walk@src/cocos-js/cc.js:31464
- [10]_recursiveScreenNode@src/cocos-js/cc.js:31496
- [11]update@src/cocos-js/cc.js:31179
- [12]frameMove@src/cocos-js/instantiated-fbfdfe1f.js:46869
- [13]tick@src/cocos-js/instantiated-fbfdfe1f.js:47420
- [14]callback@src/cocos-js/instantiated-fbfdfe1f.js:43855
- [15]tick@jsb-adapter/jsb-builtin.js:601
2021-11-27 10:24:55.540 27862-27891/org.k.m.debug E/Cocos: 10:24:55 [ERROR]: [ERROR] file /Users/Test/native/engine/common/Classes/Game.cpp: line 54

  • 重现概率: 必现

@jare @215194780
热更新重启的问题,之前在3.2.0里提到过,这次是3.3.2,报另一个错误

你的这个错误,从堆栈上看是重启失败了?报错是在重启之前就触发了吗? :12:

对,是重启前就报错了

[15]tick@jsb-adapter/jsb-builtin.js:601 看堆栈这里是不是有问题?

for (let id in _requestAnimationFrameCallbacks) {
_oldRequestFrameCallback = _requestAnimationFrameCallbacks[id];

if (_oldRequestFrameCallback) {
  delete _requestAnimationFrameCallbacks[id];

  _oldRequestFrameCallback(nowMilliSeconds);
}

}

是不是应该先
_oldRequestFrameCallback(nowMilliSeconds);

delete _requestAnimationFrameCallbacks[id];

热更新模块有订制过吗?可能是热更新完成后,有加载资源的操作,导致资源混乱, 把下面的1000ms延迟去掉跑下看看,这里应该要再做下调整。
https://github.com/xianyinchen/tutorial-hot-update/blob/3b43aed1bb5fc983bdc37a0c4efa8ce7ee31755a/assets/hotupdate/HotUpdate.ts#L240

2赞

没定制过,按照官方文档的内容写的,跟你截图一样,我再试试把 setSearchPaths 和下面的1000ms延迟去掉看看

按照你的方法,改完后就没有报错了。

该主题在最后一个回复创建后14天后自动关闭。不再允许新的回复。