Quick-cocos2d-x的热更新机制实现(终极版)

欢迎再写一篇,也欢迎一起写。

论坛和Quick群中的牛人不少,只是大家可能不太愿意写文章。

的确,写文章是非常花时间的,尤其是写到大部分人都能看懂,且逻辑正确(不一定观点正确),言语清晰,没有错别字的程度。但是把自己的整个思路做一个整理,对自己也是一个锻炼,对积累也有好处。

做不做C++改动,其实不是重点。如果一味要求不改一行C++,必须纯lua,我觉得有点过了。重要的是,这些改动是否有严重的依赖和个人倾向,是否一定要求遵循某种必须的格式行事。

开源项目,本来就有非常严重的个人习惯烙印。就好像廖大坚持用PHP写工具脚本一样,这是他的烙印。我对quick的改动,遵循我的个人习惯,当然也尽量符合开源社区的大部分习惯。

如此而已。

赞楼主,文章棒极了,实用的技术介绍和实现

另外,我也想问一个问题,是否有办法获取 url scheme ?

这个用来通过 url 传参随时降级的话,我觉得会非常实用,比如查看某个版本是否能复现问题

最后 ,我是 Henry … ^ _ ^

Hi, zong

lfs 的 mkdir 也是不能在一个不存在的目录下再创建目录的吧,

是否需要注意这个问题 ?

确实。

writablePath 是一定存在的。我的方法是先在 writablePath下创建一个临时目录,再给予这个目录来创建子目录。

url scheme 不跨平台啊……

降级可以通过请求远程地址实现,没必要用url scheme吧。

P.S. 你马甲好多

— Begin quote from ____

引用第25楼zong于2014-07-08 09:42发表的 回 22楼(koocyton) 的帖子 :
url scheme 不跨平台啊……

降级可以通过请求远程地址实现,没必要用url scheme吧。

P.S. 你马甲好多 http://www.cocoachina.com/bbs/job.php?action=topost&tid=213061&pid=998022

— End quote

^ __ ^ 也是

感谢分享。。。

先顶下楼主

我。。。这么多啊,崩溃。。。。。。。。。。。。。。。

占个位置,做个标记

好文章啊好文章啊好文章啊好文章啊好文章啊

必须 ~~~ mark ~~~

大神!:2:

不得不赞一个!!!!!!!!!!!!:2:

分享一下你的方案吧,不用怎么改C++代码是最好的

z大,我想问下,你的热更新机制里面,是如何做到跨版本升级的?比如从1.01升级到1.05

update_url = “http://192.168.18.22:8080/updater/resinfo.lua”,

难道是1.0.1的url指向1.0.2的包
更新好了1.0.2的url指向1.0.3的包?
最终变成了这种吗?
update_url = “http://192.168.18.22:8080/updater/1.0.2/resinfo.lua”,

这块的逻辑应该是程序员自己来控制的。

resinfo.lua 也可以是个php地址。

我是一个懒货,有代码包吗?发包吧

这个牛逼啊!!!

updater.lua 里的 _copyNewFilesBatch 函数里的一句得改一下 for __,v in pairs(resList) do ipairs 改成 pairs

另外我在windows下无法删除临时文件夹,提示Permission denied