cocos android 热更新,Cocos2dx一步一步实现Android端热更新(C++)

现在Cocos2dx开发的网游基本上都支持热更新功能,但大多都用LUA语言开发,由于我们项目启动时间较早,开发语言为C++,今天就把自己的项目是怎么一步一步实现热更新的,

分享给大家:

平台:android

cocos2dx版本:3.0正式版

最初的思路是这样的:

1,实现游戏资源的热更新。

2,实现代码库的热更新。

经最后实验把代码库的热更新也列为游戏资源更新, 这样就更方便了,两者基本上是一样的。

一、首先了解Android有一个System.load()方法

调用 System.load 从手机的扩展卡中加载游戏的so文件,具体这个so文件是怎么放到你的扩展卡中,

了解一下如何使用android的文件操作api就懂了。

二、cocos2dx中设置资源搜索路径

//android端获取资源目录

std::string jinResourcePath =

GameJniHelper::getResourcePath();

//重新设置 FileUtils 的 SearchPaths,注意:第一个path为android端发过来的。

vector searchPaths;

searchPaths.clear();

searchPaths.push_back(jinResourcePath);

vector paths =

FileUtils::getInstance()->getSearchPaths();

for (int i=0; i

{

searchPaths.push_back(paths[i]);

}

FileUtils::getInstance()->setSearchPaths(searchPaths);

以上主要实现在cocos2dx加载资源的时候优先选择扩展卡中的资源, 因为这里的资源才是最新的。

这里注意的是:加载tmx文件的时候, tmx文件必须与纹理的目录问题, 这个是cocos2dx代码的问题。

三、使用网络下载更新资源,做一系列的资源比对操作, 然后保存版本。

这块代码比较多, 但是业务相对来说比较简单的。

大体就上面几个重点, 实现起来还不算是难。 供大家参考。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值