写了一个超长的热更新文档,欢迎反馈

官方给的是Debug的例子,Release的坑要自己磕一下。
例子里给的是通过编辑器关联Mainfest文件,res里面有个mainifest。
IOS的审核,资源需要做点儿手脚,过审之后,要做一个过审的热更包,用来避免使用的还是老资源。
进行CDN上传的时候,都是零散文件,上传的过程中,用户热更怎么办。
如果想动态变更某一个渠道的热更地址,怎么弄。
一个个磕一遍,解决一下就好了

1赞

求分享~~~

这边使用官方的例子做的热更,所以,自己定了一些规矩,这样才能运转起来。
CocosCreator 工程内关联的文件,是在res下面的,热更包里这个路径也要有这个文件吧。
但是,执行MD5脚本的时候,要刨除这个文件,然后再把生成的拷贝进去。
IOS 跟 Android 分开热更地址,平台提审的时候,这样相互不冲突。
IOS审核通过,就立刻提交一个热更包比提审的版本号大1,这样就能热更成正确的资源。
IOS审核的版本,版本号比当前线上的版本大的多一些,因为审核期间还有线上热更的需求。
热更判断做判断,资源上传CDN的时间段内,直接进入游戏。
动态变更热更地址,读取本地manifest然后修改json文件,远程要保留原来的文件路径。
现在是通过本地的project.manifest文件读取,然后获得热更地址,希望提供一个自己设置地址的接口。这样可以通过服务器控制,到指定的地址下载version.manifest

3赞

你们断点续传这个功能是有BUG,在下载到一半断网,在连接上去下载,下载后的文件,读出来有错。我建议可以做个关闭续传的功能,下载完后直接写到文件中。

本来每个下载文件就很小,如果是大文件可以开启断点续传

请教, creator1.4 js 在安卓真机测试时热更新下载完资源更新成功后重启apk, 依然用的是旧版本的资源, 搜索路径设置过了, 在apk中也能看到下载到的资源, 请问有可能是哪里的问题呢?

请问什么环境下?你的服务器是否支持断点续传?

apk 中怎么可能看到下载的资源呢??? apk 包是不会被改变的

我说错了, 是在/data下看到的资源.

在你那个帖子里面说吧

关注一下,服务器支持断点续传,用官方的例子热更新,更新中途断网再联网,资源会继续下载,但是下载完成后重启会黑屏。
不知道是否要自己再加什么别的判断,新手求老司机带带路

如果cocos creator 热更新还要用assetbundle的话 等于给cocos 送了条死路

啊啊,抬个小板凳排队坐等asset bundle

此话怎讲?

两个月内可以有么

期待新版本可以取得的TotalSize中

能不能在下载完成后,先不要把临时文件夹里的移到正式的里面?

下完后,先效验下所有需要下载的文件MD5,效验没问题后在移动?

真的有时候会莫名其妙下载完成后黑屏

比如我删除服务器上热更新资源,重新上传,上传中途,打开客户端居然能更新成功,然后重启后就是黑屏

这个热更对lua支持吗?

unity 也是用的assetbundle , cocos也用assetbundle ,如果项目一大,加上js 本来就不好维护,然后还要将资源打成assetbundle资源,项目更难维护

文章太长,现弱弱的问句,lua 和c++能用么。。:grin:

version_generator.js 中line 71 :
md5 = crypto.createHash(‘md5’).update(fs.readFileSync(subpath, ‘utf8’)).digest(‘hex’);
以‘utf8’方式读取文件计算md5,大文件就是错误的,去掉这个‘utf8’,计算的md5就和linux系统下md5sum结果一致了。
md5 = crypto.createHash(‘md5’).update(fs.readFileSync(subpath)).digest(‘hex’);