热更新问题

assetsManager.setVerifyCallback(function (filePath, asset) {
var md5 = calculateMD5(filePath);
if (md5 === asset.md5)
return true;
else
return false;
});

请问文档中这段代码中的calculateMD5,该如何去写呢?不知道如何去找到该下载的文件呀?求大神帮忙~

+++1,希望大神能给讲解 我这最近也要开搞了,想先弄明白在搞.朋友你搞定了受累通知一下我哈 谢谢了~~!

文件校验是搞定了,但是manifest的校验总是失败,不知道原因。。。请问大神这个文件用校验吗?

1赞

var data = jsb.fileUtils.getDataFromFile(path);
var curMD5 = md5(data);
if(curMD5 == asset.md5){
cc.info(‘MD5 verify success!’);
return true;
}
else{
cc.info(‘MD5 verify fail,path a:’ + path + ‘,path b:’ + asset.path + ‘,md5 a:’ + curMD5 + ‘,md5 b:’ + asset.md5);
return false;
}
具体的MD5算法附件中有。
md5.zip (3.9 KB)

2赞

谢啦,这个我已经实现了,但是还是那个问题manifest这个文件的校验总是失败,其他的都正常。。。

效验不正确是因为生成的时候那个工具里面代码需要修改,把utf-8给去掉,效验失败你确认过你这个md5效验是否正确?

其他的文件都校验通过了,就是这个manifest没有通过。。。需要把version_generator.js这里面的utf8去掉?

是的。 而且manifest文件生成的时候需要删除一次再生成,当时怎么弄得我忘记了 呵呵。

好,谢啦,我再试试~

文件名是.manifest 跳过该文件就行了

setVerifyCallback想使用您提供的Md5的算法的话,那
version_generator.js中的md5

需要把utf8去掉 然后变成下面 这样吗

嗯,需要,这个范例项目也会修改

好的,我再试试哈,谢谢

对了,热更新是必须在debug编译模式下才能起作用的?1.5了,有什么新动向啊?

jsc的也能用

其实就去掉一个utf-8就可以了。

试了一下,貌似不行啊,更新失败了。而且更新的时候非常卡。顺便问一下@panda , 引擎支持md5校验预计哪个版本出?