如何启用了MD5 Cache,那么每次build android项目时,都需要重新打apk么?

如何启用了MD5 Cache,并且勾选了Main Bundle Is Remote时。 那么每次build android项目时,都需要重新打apk么?

因为重新build以后,hash值会变。

hash 不应该变的,可以升级到最新版试试

如果hash值不变,apk怎么更新到Main Bundle 的资源呢?

如果项目有变动,hash 肯定会变的。你需要把 hash 值通过服务器传给客户端,这是属于热更新的一部分工作。

通过assetsBundle.loadBundle加载的ab资源,我知道是通过version来传入hash值的。
但是加载main和internal的地方,不知道在哪儿啊,文档内翻了半天,没有找到啊。请指点啊。

我大概知道怎么搞了,通过自定义模板

我搞定了,我就说嘛,MD5 Cache这么高级的功能,怎么能没有热更新呢,原来自定义模板,才是Cocos Creator的神来之笔!!

1赞

这个md5最恶心的是。如果用了md5,那主包就无法热更新了。因为main.js里的入口文件是写死的。

但是子bundle如果没有md5,又无法更新,永远会加载到老的。

只能自己通过服务端接口来判断子bundle的版本号,如果过期就删掉,重新下载。

这个md5反而挺好的,你把main.js加载的文件从json读取,不就变成除了main.js之外的文件都能热更了吗(jsb-adapter文件夹的除外,不过一般也不会更新这个文件夹的文件)

利用构建模板自定义main.js就行 Cocos Creator 3.8 手册 - 定制项目的构建模版