遇到一个诡异且棘手的问题,实在搞不定,大佬帮忙看看

用cocos creator 3.8.7开发微信小游戏。 下午还一切正常,还发布了新版本。晚上只是简单增加了一个播放音频的功能,理论上应该没有任何影响,但突然出现严重的bug。用git回退到下午可以正常发布的版本,这个版本下午还好好的,现在却突然不行了。

具体问题是:
我有两个通过代码动态加载的bundle,里面放了一些图片资源,分别叫bundle1 和 bundle2 吧。先加载bundle1, 后加载bundle2。 bundle1可以正常加载,但是在加载bundle2时,在微信平台上(包括微信开发者工具和真机调试),会报错:


点进这个 engine-adapter.js 查看报错处的代码情况如下

我的理解是 这里的cc.internal在这里是undefined, 因此无法访问 dynamicAtlasManager, 所以报错。
但是我的bundle1都已经正常加载完毕了,不知道为啥到了bundle2就会出错。

看到这个问题跟动态合图有关,我尝试了在打包时开启CLEANUP_IMAGE_CACHE(这样会强制关闭动态合图); 也尝试了在代码文件中写:cc.DynamicAtlasManager.instance.enabled = false .都不能解决问题。

另外一个补充信息:期间还有一个可疑操作是我在微信平台上开启了iOS的高性能模式。之前是没有开的。但是出问题之后我在打包配置里关掉了高性能模式,所以最终运行时应该是没有高性能模式的,只是微信平台上开启了这个功能而已。

实在想不出来为什么原本好好的报突然就出这么严重的问题。有没有大佬能帮忙看一下,感激不尽!

1你在项目里面 ,把cc导出来赋值全局window.cc=cc ,然后在微信开发工具中window[0].window.cc好像是这样的层级 ,你自己打印看看, 通过cc来debug你要的内容看看

2.检查这2个bundle的内容,看看相互引用等问题,bundle资源加载的优先级等

目前只想到这么多

1赞

项目缓存文件有清空试试吗

感觉这里不应该报错的,你会不会做了什么操作,把cc给覆盖了

你可以改一下engine-adapter.js的代码,在报错代码前面打印下cc

建议检查一下构建后的目录 assets/internal目录 感觉是这里面没被初始化成功

你是不是把自动图集删掉了