热更新manifest内 自己也包含manifest 是怎么通过md5验证的?

如题,我一直很困惑!@panda

不验证自己

这个逻辑是有问题,所以热更新manifest文件官方的建议是一个新版本建一个新的

我搞明白了,做一次热更新完了就忘了,其实是两个manifest,只是自己的md5不一样而已。流程是这样的,
先生成m1.此时m1中自己的md5是上一个版本的。这时复制一份m1为m2,将m1 md5后的值替换掉m2中自己的md5的值。

暴力一点也可以把m1替换到资源目录下,再次生成m2。

这样m2描述的就是完整的m1的md5信息。

m2作为放到服务器的对比文件。m1在服务器的资源里。
更新时客户端为m0,和m2对比差异,下载m1,md5校验时,m2中有m1的md5信息,可以通过。
本质就是对比差异用m2,实际下载m1.m2中自己的md5是m1的.所以可以通过校验。

我觉的这个逻辑是整个热更新逻辑最绕的地方。
真的好绕啊,过了半年我就忘了。后面又不理解为毛我每次要生成两次版本文件。

1赞