如何启用了MD5 Cache,并且勾选了Main Bundle Is Remote时。 那么每次build android项目时,都需要重新打apk么?
因为重新build以后,hash值会变。
如何启用了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的神来之笔!!
这个md5最恶心的是。如果用了md5,那主包就无法热更新了。因为main.js里的入口文件是写死的。
但是子bundle如果没有md5,又无法更新,永远会加载到老的。
只能自己通过服务端接口来判断子bundle的版本号,如果过期就删掉,重新下载。
这个md5反而挺好的,你把main.js加载的文件从json读取,不就变成除了main.js之外的文件都能热更了吗(jsb-adapter文件夹的除外,不过一般也不会更新这个文件夹的文件)
利用构建模板自定义main.js就行 Cocos Creator 3.8 手册 - 定制项目的构建模版