找了一下很多帖子 说官方1.62 会出MD5 的校正接口 请问除了吗?
自己找的 几个 校正的
var data = jsb.fileUtils.getDataFromFile(path);
var md5 = require(‘md5’).md5(data);
cc.log("======>111",md5);
cc.log(asset.md5);
输出的MD5 都不对.
找了一下很多帖子 说官方1.62 会出MD5 的校正接口 请问除了吗?
自己找的 几个 校正的
var data = jsb.fileUtils.getDataFromFile(path);
var md5 = require(‘md5’).md5(data);
cc.log("======>111",md5);
cc.log(asset.md5);
输出的MD5 都不对.
var data = jsb.fileUtils.getDataFromFile(path); 修改为 var data = jsb.fileUtils.getStringFromFile(path); 大部分MD5比对正确的… 但是现在 部分MD5 比对还是错误的…
所以现在寻求的答案 是 错误之后 更新失败 然后的处理 应该如何处理 …
我按照文档 加了assetsManager.downloadFailedAssets(); 可是 失败 依然是失败~ 是什么问题导致的MD5 对不上呢 ? 输出了 大部分为图片 的MD5对不上 求下解答
阿噗 阿噗~
是提问的方式不对么…
教程中提供的 version_generator.js 中使用的是 node.js 的 crypto,用法上经历过一次改动
https://github.com/cocos-creator/tutorial-hot-update/commit/c4edee5f173705fb978cf851857b674d9fdb3a01
至于你 require 的 md5 库是怎么计算的我不清楚,你也可以修改 version_generator 用同样的库去生成 manifest 中的 md5,这样就可以确保对比的准确性了
多谢panda 老师回答 原因找到了 确实是 当时找到 的MD5 算法 有问题… 导致了 部分文件MD5 计算错误… 在更换无数个之后 没问题了… 但是新的问题出现了… 就是在 更新文件过大(过多)的时候 原生 IOS 上 MD5 读取文件 并计算 会导致 小游戏的卡死… 大概放弃 转为 比对一下文件大小了
你最终没问题的md5算法是哪一个,能否分享一下
不同平台计算的文件大小会不会不一样