笔记:热更新详细操作

mark - 热更新流程

MARK

鸦哥,我2.4.2版本,手机浏览器能访问到本地服务器文件,但是checkUpdate的时候一直返回jsb.EventAssetsManager.ERROR_DOWNLOAD_MANIFEST
这是什么原因啊?

本地服务器?

嗯,自己express搭了一个服务器,问题好像找到了,前面我没放project.mainifest,他好像check的时候两个文件都会去找,然后两个文件的版本都得改

鸦哥,我这遇到一个很扯的问题:
原本一个人调试是没有问题的,然后两个人调试(一个人只打包一个人只放更新),然后更新下来就出问题了,更新后找不到本地的manifest,打包这边查到在native/19/文件夹,更新下来是native/e5/文件夹,search path里没有/e5/,只有/19/,原因应该是更新的人合并的时候动了loading.fire里拖进去的project文件导致构建的路径不一致了,这种要怎么处理?目前是测试阶段,临时的处理的方案就是又同步了一次代码重新打包。。。如果上线后出现这种意外也太难受了吧?

只有在整包发布的时候,才会有拖那个project文件的情况啊~
热更新的话,只是构建,然后用脚本生成那个文件

是这样的,我新加的热更新,然后他同步我代码的时候git里有冲突把新增的字段丢失了所以重新拖了一次,如果下次还出现类似问题有什么办法提前处理或预防不?

你们这是开发阶段吧,这种热更新流程,肯定是要在发布阶段去做

有条件的话,可以搞成流水线··自动化去做

嗯,我在处理这块东西,看见说要构建两次我就准备换成命令行打包了。。。前面没注意,只弄了个一次构建后的脚本。。
但是这样也没法避免万一出现类似的问题。。。比如不小心。。。那就只有打新包了?

这种人为的问题,我也不知道咋搞···就像我不小心写了个bug?

这么晚一个个的还在加班吗?

这种本质上应该也算是代码不严谨吧?主要是路径问题,关键不知道这玩意在哪处理

你同步代码错了,这种问题还能怎么预防???

要这么说的话,可以把那个文件放到resources目录,动态加载,获取路径

我试试看。。。。

这样操作有一个问题,版本文件里的信息显示.manifest文件处于assets/native/e5/文件夹下,但是实际上构建出来压根不存在这个文件夹,这是咋回事?

算了,不纠结了,搞半天也大致明白自己前面是什么锅了,其实只要project.manifest.meta里面对应的uuid不改变就不会出现类似问题。我还是改回以前的然后自己研究下打包脚本算了

其实你没有必要放到包里呀

也不需要构建二次嘛,你在构建完后,分包的时候,动态生成那二个文件