引擎大大请帮帮忙,热更新进行到一半失败,感谢!!

  • Creator 版本:2.0.9

  • 目标平台: Android /模拟器

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

  • 重现方式:直接安装apk或者启动项目

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

  • 手机型号 :vivo,或者模拟器

  • 手机浏览器 :

  • 编辑器操作系统 :

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

  • 出现概率:100%

  • 额外线索:

按照官方热更新例子,简化一个demo。检查热更新没问题,开始进行热更新,每次进行到一定程度就会报错。重复点击的话,可能出错的位置就不一样,用安卓手机打印的log看有时候也看不出是在哪里出的问题,把官方的示例的文件传到我得服务器也是会出现类似问题,因为服务器是阿里云的,也正常运行,感觉不太可能是服务器拉不到的原因,直接输入url也能访问到,所以感觉是我代码出现错误或者逻辑有问题,麻烦殷勤大大帮我看一下!!十分感谢!!!

这个是安卓手机的log

demo正在上传,百度云上传中。麻烦引擎大大帮我看看,谢谢!!!感谢!!!!自己是找了很多资料对比了很多实在找不到了才来麻烦的!

链接:https://pan.baidu.com/s/1fdsFL9KhJlZOQHrmdxYOpw
提取码:az4j
因为直接上传,说我这个有点大114m,我把apk,还有工程,还有问题文档,还有对比的资源都打出来了,方便查看。
各位引擎大大麻烦了!!我是小白,这个真的是查不到是哪的问题才来问的,占用时间很抱歉 。谢谢了

自顶自顶

你构建完项目要重新导出一下热更文件。不要沿用原来项目上的热更文件。

是的,我更新了。我描述一下我得操作步骤,麻烦看看是否有错误。

1.0.0工程:就是完成了热更脚本,还有第二场景,第二场景有一张图片。第一场景,在模拟器上能够检测远端是否有更新,能够热更。

把1.0.0工程单独复制出一份工程,准备用作1.2.0版本,生成热更文件。打开1.2.0版本工程,在第二场景多放一张图片,保存场景。然后构建,构建完成后,运行version_generator.js(从官方示例复制过来),生成version.manifest,project.manifest文件,然后把这俩文件以及新构建出来的res src放到我得服务器。

用1.0.0工程打开模拟器去拉,能够检测到远端是1.2.0版本,优先于1.0.0版本。
点击更新,出现的问题是,获取到的更新进度,总是在一半或者其他部分就走到了 jsb.EventAssetsManager.UPDATE_FAILED,也就是更新失败。每次重试更新,走到的进程不一样,但是还是失败。

求大大看看是不是我操作有误

你重新做两个版本,不要勾选MD5

大大,这边重新做了两个版本。没有勾选MD5也没有勾选调试模式。
旧版本操作流程:

  1. 构建,然后用官方得version_generator生成俩manifest文件,然后在热更新场景把promanifest挂载到热更新组建上,
    manifestUrl: {
    type: cc.Asset,
    default: null
    }, 就是这个能找到嘛

  2. 重新构建一遍,因为第一次构建时候没有res scr,也没有manifest,所以热更新场景没有挂载promanifest。所以我重新构建了一边,然后打包。注:这一步我不知道是不是正确的,所以我做了两次,一次做了这一步骤一次没做这一步骤。
    2.5 修改构建的main 加入了,搜索路径设置的逻辑。生成apk 1.0.0版本

  3. 复制出一份刚才得工程,作为1.1.0版本。防止俩工程改来改去有干扰,然后在1.1.0工程修改第二场景得样子,多加了个图片而已。保存,构建项目生成res scr,然后执行version_generator生成俩manifest文件(其中参数改成了1.1.0版本)。然后把这四个文件放到远端。
    4.用1.0.0打出得包去更新,这次打印出来了如下错误。


    说是下载后的资产文件验证失败。这个是因为我某一部操作失误导致得嘛?还是说开始得 onload中设置的setVerifyCallback函数得问题?应该跟这个没关系把。

求大大帮忙看看 如果需要demo我这会尽量把资源都弄出来下载就用复现

@602550765
我的更新功能是自己写的, 但还是用cocos的 Downloader下载资源的, 我发现这个Downloader在局域网还正常, 在正式的服务器上, 总是会下载出错, 我临时的解决方案就是一个文件下载失败后, 再尝试下载, 重复10次. 只有10次下载失败才认为是资源不可下载.
最近发现在某些地区, 这个临时方案还是会有下载失败的情况, 我在考虑重写一个Downloader来解决这个问题.

jsb.EventAssetsManager.ERROR_UPDATING
代码热更跑到是这个错误,我打印的日志是上面的
console.log(“资源更新出错…” + event.getAssetId() + ', ’ + event.getMessage())

我这边重复下载的话也是没有能通过的,可能就是某方面操作错误我感觉,可能是我构建或者某一部操作导致俩不能互相认识把,确实挺难查找得,,我这方面也不是很懂

自顶一下

继续自定。。。求大大们帮助谢谢,,,

请问最后查出来是什么问题了吗?是怎么解决的?
最近在搞这个热更,也是各种问题

有解决方案吗?我也卡在这儿 。

update failed 是热更新返回的,具体错误信息是什么,是哪个错误ID?重启热更新,不能继续完成下载吗?