cocos2dx-lua 热更新的思考

最近在给公司项目做热更新的修改。原来用过cocos2d自带的那套AssetManagerEX。但那种更新方式有点太扯。后来根据以前的经验和其他同事的讨论,决定了最后的更新方式。

首先在Android手机平台下支持两种更新:

其一是更新apk,下载,重新安装apk;

其二是热更新资源,下载差异化的资源包,打包成zip压缩包,下载到手机端,然后解压到可写入路径。

更新流程为:

app启动后请求web接口,请求的参数主要有当前app的渠道和app版本号,web返回字段有更新方式,0-不需要更新;1-热更新资源;2-强制更新apk。热更新资源时,web要返回多个zip补丁包的url,依次下载解压。强制更新apk时,要返回apk下载的url,下载完成后安装即可。然后更新几次补丁包后会产生一个apk的强制更新主要由后台控制。

热更新资源流程,依次下载解压web返回的多个zip补丁包,完成后reload lua脚本,然后进入游戏。

下载主要使用的cocos2d-x的downloader。

以下是生成补丁包的Python脚本。欢迎交流。QQ群:617600093

# -*- coding: utf-8 -*-

'''
1.将新旧两个版本的apk和此脚本放到同一个目录,
2.指定新旧两个版本apk的文件名字(OLD_APK, NEW_APK)
3.执行此脚本
4.压缩差异文件,将以当天日期为文件名生成zip文件
'''

import os
import time
import hashlib
import zipfile
import shutil

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值