V3.3引擎,在存在groupversion情况下:
groupversion和version任何一个增加(先和旧的下载的project.manifest比较,不存在则和客户端里的project.manifest比较,增大或则减小都算变化,只有一致才算无变化),均算version.manifet版本号变化
version.manifest: 无条件每次更新到服务器上的最新版
project.manifest: 若version.manifet版本号变化,即下载服务端对应最新的,否则不变.
res目录和src目录: 下载了最新的project.manifest,且分别取决于其对应的md5(未覆盖前的文件中的md5,原来不存在现在有新的值也算变化,是每个group分别比较,一旦某个group不变则不会下载copy其对应的文件)而不是groupversion变化,变化则把服务端各文件夹下的文件copy到对应的本地目录,遇到同名的会替换掉旧的,原来旧的且不同名的保持不变.即覆盖copy
建议:
1、自第一次发布后,历次更新的代码都打包在一个js.zip中,每次只更新这个js.zip。这样好处是,保证所有代码是同步的,即使没更新到,玩家也就停留在上一版。例如第一次更新,有1.js,那么js.zip只有1.js;第二次更新2.js,那么js.zip就得包含1.js和2.js,这样避免一些跳版本更新的玩家出问题。
2、
非代码资源,避免修改,可以直接用新文件,但不要替换旧文件,这样目的是避免多次版本更新造成新旧混乱。设想2次更新都是zip包,两个zip包都有1.png,这时候有个跳版本更新的玩家,就会下载2个zip包,但先后顺序是不可控的。
参考文档:
http://www.cnblogs.com/kenkofox/p/3906681.html
http://cn.cocos2d-x.org/tutorial/show?id=1186
原文链接:https://www.f2er.com/cocos2dx/342422.html