Cocos Creator3.8.8 热更新成功,仍是旧的预制体和旧的脚本

就是只打构建1次 不要构建2次

构建的时候, 在mainfest 生成完成后,还需要将build/jsb-link/assets/main/native 下面的对应.mainfest的文件用新的mianfest的内容给覆盖掉,这样在出apk母包的时候包内的mainfest文件才是最新的,后面改预制体后,再构建一次,然后直接上传新的资源就行可以了

build\android-001\data\assets\main\native\d4\d45631a2-c284-4a5e-a148-791447608b72.manifest 这是我在构建出来的工程内找到类似的路径manifest,打开里面的内容,用比对工具比对,里面的内容和我复制到.assets/ 目录下的project.manifest 内容一致

熱更新不用設置成遠程包 用一般bundle就可以

:sob:就是这个问题,老师,就是这个原因啊,太谢谢老师了,您简直是我的神~~~~
呜呜呜呜

就是这个问题啊,我现在明白了为什么会这样,
于是我又有了新的疑问:
如果不设置为远程bundle 的话,我们的资源不都打入APK 了吗,这不合理,如果我们资源文件就是不想打入APK ,要放到远程,需要分两种方式加载吗?
我看API *
loadBundle public

【通过包名称或 url 加载资源包。当你在项目中配置了 Bundle 后,你可以通过项目中配置的名称来加载该 Bundle。或者当你将 bundle 放在服务器上时,你也可以通过完整的 url 地址进行加载。注意:当你用名称加载远程 bundle 时,该 bundle 在下载后将会缓存在本地并在后续持续使用该缓存,即使你服务器上的 bundle 文件版本已经发生变化。当你需要加载最新的 bundle 时,你可以在可选参数中额外传入一个 version 参数,资源系统将比对此版本号与本地缓存是否一致,如果比对失败,则资源系统将重新从服务器上拉取最新版本的 bundle 数据。】

意思是说如果我要用远程bundle 必须写入完整的url 路径+版本号来加载吗
而本地bundle 则直接传名字就行了
自己管理一个远程bundle 名单和本地bunlde 名单,根据名单,用不同的方式加载?
是这样吗?
老师真的太谢谢您了~~~

apk 可只留主包以及熱更新common的部分 這樣就只有主包的資源
簡單來說就是主包跟打熱更新包是兩個工程
common這個bundle 是透過熱更新的方式更新下

1赞

我悟了!!!!!老师,这一刻我终于明白为什么公司的项目工程要分为两个工程了,终于通了,感谢您~赞美您~~~~ :sob:这就开始实操!!!

参考

你可以参考一下设计

分包配置设计

https://www.yuque.com/dhunterstudio/gg/hot-update#QNbbA

整包配置示例

https://www.yuque.com/dhunterstudio/gg/hot-update#VUxXu

谢谢老师提供的思路,非常有帮助,感谢感谢~~~

什么年代了还用那垃圾热更,用引擎自带的bundle热更不香吗,每个子游戏单独一个bundle,单独更新每个子游戏都行

谢谢提供思路,bundle 热更新看起来也不错,我晚点实践一下,看看什么方式更好,非常感谢~~~