分享

关于热更新问题

 没原创_去搜索 2015-12-01

关于热更新问题   

热更新,我使用AssertManager,有以下问题:
更新下载zip包解压之后,解压文件怎么放到原来的游戏包里?
在win下,替换和添加文件都没问题,因为游戏没有打包,但是在真机下该咋整?
游戏apk包安装之后在data/app文件夹下找到了apk包,游戏跑的时候也跑的这个包,这个包里的文件可以改动吗?
求帮助!!!!!!!!!!!! 
级别: 侠客
状态: 未签到 - [2天]
UID: 266272
精华: 0 
发帖: 84
可可豆: 215 CB
威望: 216 点
在线时间: 87(时)
注册时间: 2013-10-17
最后登录: 2015-11-04
沙发 :发表于: 2014-02-07 21:19   发自: Web Page
游戏打包成apk之后如何进行热更新?求大神解答 
级别: 侠客
状态: 未签到 - [51天]
UID: 248378
精华: 0 
发帖: 182
可可豆: 510 CB
威望: 331 点
在线时间: 170(时)
注册时间: 2013-06-24
最后登录: 2015-05-17
板凳 :发表于: 2014-02-08 09:58   发自: Web Page
包里的文件是不可以改动的。
Android也好,ios也好,在系统可写部分都是有空间的。
热更新的部分是要放在可读写的地方,可以通过 CCFileUtils::sharedFileUtils()->getWritablePath() 来获取它。

级别: 侠客
状态: 未签到 - [2天]
UID: 266272
精华: 0 
发帖: 84
可可豆: 215 CB
威望: 216 点
在线时间: 87(时)
注册时间: 2013-10-17
最后登录: 2015-11-04
3 楼: 发表于: 2014-02-08 11:56   发自: Web Page
回 2楼(shujun.qiao) 的帖子
热更新的部分,我是放到可读写区域了,我也是用你说的方法获取的,但是这个路径仅仅是存放我本地文件的地方啊,我的游戏脚本都在apk里呢,我要更新脚本,必然要修改apk里的脚本啊。难道说我的更新思路不对么? 
级别: 骑士
UID: 264610
精华: 0 
发帖: 392
可可豆: 760 CB
威望: 761 点
在线时间: 142(时)
注册时间: 2013-10-08
最后登录: 2014-12-10
4 楼: 发表于: 2014-02-08 14:01   发自: Web Page
回 3楼(i-feel) 的帖子
你的思路有问题……加载路径是优先级的,先加载更新的路径,如果没有,才会去加载apk里面的……如果你想直接修改apk,而不是存有两个版本的文件,这还真的没办法了,除非发布一个新的apk更新,不过这样子就不需要assetmanager了说…… 
级别: 侠客
状态: 未签到 - [51天]
UID: 248378
精华: 0 
发帖: 182
可可豆: 510 CB
威望: 331 点
在线时间: 170(时)
注册时间: 2013-06-24
最后登录: 2015-05-17
5 楼: 发表于: 2014-02-08 14:04   发自: Web Page
修改apk里的脚本是做不到的。每修改一次apk,都要重新生成,并下载安装的。这不是热更新。是下载更新。
热更新的文件,是要放到可写区域,这样每次更新,替换可写目录的同名文件,增加新文件,这样更新就会起效。 
级别: 侠客
状态: 未签到 - [2天]
UID: 266272
精华: 0 
发帖: 84
可可豆: 215 CB
威望: 216 点
在线时间: 87(时)
注册时间: 2013-10-17
最后登录: 2015-11-04
6 楼: 发表于: 2014-02-08 15:13   发自: Web Page
回 4楼(qq393830887) 的帖子
比如说我游戏里的data.lua脚本需要更新,用AssertManager下载补丁包,解压出来data.lua文件后就放在CCFileUtils::sharedFileUtils()->getWritablePath()路径下,和apk中的文件位置一致,apk中的data.lua没有修改,apk一点没动
apk路径与更新文件路径如下:
data/app/xxxx.apk
data/data/com.app.game.xxxx(这个路径是通过CCFileUtils::sharedFileUtils()->getWritablePath()得到的)
那么在启动游戏的时候,在游戏运行期间,如果我用到data.lua文件了,就会优先去搜索下面那个路径吗?如果是的话,就太感谢你了,我的问题就解决了,如果不是,我继续研究。
求告知

又有一个新的问题,这个路径的优先级是我自己设置的还是Android系统自带的路径优先级?
[ 此帖被i-feel在2014-02-08 15:33重新编辑 ]

级别: 侠客
状态: 未签到 - [2天]
UID: 266272
精华: 0 
发帖: 84
可可豆: 215 CB
威望: 216 点
在线时间: 87(时)
注册时间: 2013-10-17
最后登录: 2015-11-04
7 楼: 发表于: 2014-02-08 20:47   发自: Web Page
求解答 
级别: 圣骑士
  
UID: 288194
精华: 0 
发帖: 708
可可豆: 926 CB
威望: 1079 点
在线时间: 533(时)
注册时间: 2014-01-16
最后登录: 2015-11-18
8 楼: 发表于: 2014-02-09 09:21   发自: Web Page
哎,楼上回答问题都没有说到点子上,真让人捉急

http://www./web/html-css/201308/12205.shtml 
专黑cocos三十年。cocos系列的坑连起来可以绕地球32圈哦~
级别: 侠客
状态: 未签到 - [2天]
UID: 266272
精华: 0 
发帖: 84
可可豆: 215 CB
威望: 216 点
在线时间: 87(时)
注册时间: 2013-10-17
最后登录: 2015-11-04
9 楼: 发表于: 2014-02-09 19:13   发自: Web Page
回 8楼(职业吐槽) 的帖子
谢谢指点,增加搜索路径是吧。
是这样的,我的所有游戏代码都是用脚本写的,C++只提供了一个运行入口,就像Lua例子中的HelloWorld一样。
也就是说如果我在C++代码里加了两个搜索路径,热更新目录的路径优先级比apk路径的优先级要高,那么在lua脚本中跑的时候,也会去优先搜索热更新目录吗?我的意思是在C++代码中优先设置好搜索路径,在脚本中跑游戏的时候,这个用到的脚本文件和资源文件还会按照路径的优先级来进行搜索吗?如果是的话,我的问题就解决了,不是的话,我就继续研究了。




发表于: 2014-02-09 19:33   发自: Web Page
是的,你的问题应该已经解决了。

专黑cocos三十年。cocos系列的坑连起来可以绕地球32圈哦~
级别: 圣骑士
  
UID: 288194
精华: 0 
发帖: 708
可可豆: 926 CB
威望: 1079 点
在线时间: 533(时)
注册时间: 2014-01-16
最后登录: 2015-11-18
11 楼: 发表于: 2014-02-09 19:34   发自: Web Page
回 9楼(i-feel) 的帖子
我用的js,在C++或者js里设置优先级都可以。Lua不知道啦~应该可以,你可以试下。 
专黑cocos三十年。cocos系列的坑连起来可以绕地球32圈哦~
级别: 新手上路
UID: 215452
精华: 0 
发帖: 39
可可豆: 129 CB
威望: 130 点
在线时间: 37(时)
注册时间: 2013-03-26
最后登录: 2015-04-07
12 楼: 发表于: 2014-06-30 12:04   发自: Web Page
这个问题直接也折腾我好几天 网上看了一些资料 就是要在启动游戏前把你更新的资源路径加到你的搜索路径里面去就ok了   

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多