升级到2.3.2版本微信加载资源报错

  • Creator 版本:2.3.2

  • 目标平台: 微信小游戏

  • 详细报错信息,包含调用堆栈:

  • 重现方式:

  • 之前哪个版本是正常的 :2.1.3

  • 手机型号 :

  • 手机浏览器 :

  • 编辑器操作系统 :

  • 编辑器之前是否有其它报错 :

  • 出现概率:

  • 额外线索:

我之前是2.1.3版本,由于包体超过微信小游戏的限制大小,将主包中的部分资源放到了远程服务器,构建时填了远程服务器地址,勾选了md5,都是正常的。
升级到2.3.2版本之后,还是一样填写远程服务器地址,勾选md5打包,版本发布之后微信后台多了很多res资源加载失败的报错,以为是2.3.2版本远程服务器有问题,于是去掉了远程服务器,改用勾选分离引擎以减少包体大小,此时没有勾选md5了,发布后还是有很多报错,但之前大多数是加载远程服务器地址的资源报错,现在则是这种wxfile的报错,里面的资源路径不是斜杆而是中划线。

升级2.3.2后使用远程服务器的报错:

升级2.3.2后不使用远程服务器的报错:

creator 2.3.* 加载cdn资源应该有问题,我的项目经常出现加载失败的情况,特别是在微信开发者工具上看,一篇红~~,有时候一个loading场景都可以加载失败,之前creator 2.1.*是没有问题的,升级到2.3.*就有问题。。。

你也是2.1升级到2.3了吗?我现在没有用cdn了,所有资源都在本地,但是现在的报错是wxfile://user/gamecaches的,你们有这个报错么?

2.3.2 版本微信小游戏改了资源缓存机制,需要钩上MD5选项,不勾的话,会出现资源引用混乱!这个问题我们后续会优化。

只勾选md5就可以了吗?需要调remoteDownloader.cleanAllCaches()清除缓存吗?

勾上md5就行,cleanAllCaches 不是必要的

我的项目经常出现这样的bug, 加载cdn资源。。loading场景都会加载失败是神情况?

什么版本的引擎?能给个demo么?

公司项目,我看看。。。

我勾选md5没有清除缓存之后还是一直有这个报错,另外还有加载子包资源的报错,奇怪的是这个子包资源的报错路径后面有的有md5后缀,有的没有,为什么会出现这种情况呢,按理说勾选了md5之后应该所有的资源都有md5后缀才对吧:



我今天准备发一个同时勾选md5和清除了缓存的包试试,但是感觉子包资源应该不在cocos的缓存目录里面吧?清除缓存是不是也解决不了这个问题?

加载到没有md5的文件,又有md5的文件加载不到,太复杂了,没法做测试,如果开发者工具能复现,可以远程帮你看看。麻烦再确认下:

  1. 子包什么时候被加载的?
  2. 报错的子包资源什么时候被加载的?
  3. 打完包后,子包里面是否包含该文件?
  4. 以上都打下日志,给个完整的日志。
  5. 麻烦再确认下,开发者工具能复现吗?

因为我们的子包模块都是独立开的,里面的资源都只有子包自己的预制体才会用到,然后我们会先加载子包,如果加载失败就不会创建子包模块里面的预制体,那些资源也不会被引用到,每个子包只有加载成功了才会创建里面的预制体引用到里面的资源。我们子包的逻辑一直是这样的,升级之前一直都没有问题,升级的时候也没有改过这块。
打完包后,build/wechatgame/subpackages/下面有各个子包的文件,都是带有md5后缀的。主要是这个问题我们自己无法重现,只有微信后台有很多很多的报错,所以更加难以定位。

我们也遇到了这样的问题,你们解决了吗?

我们也遇到了这样的问题,你们解决了吗?2.3.4

同样的问题,…