cocos 如何更新java代码_cocos2dx程序android平台下自更新策略

cocos2dx开发的在android平台下运行的程序,是以一个.so用户库文件提供给JAVA层调用。所以我们在JAVA层实现检查更新,下载最新库文件,并跳过加载原来库文件,加载新库文件即可。

1. 首先,在AndroidManifest.xml里新增一个activity,以供执行更新。

android:label="@string/app_name"

android:screenOrientation="landscape"

android:theme="@android:style/Theme.NoTitleBar.Fullscreen"

android:configChanges="orientation">

2.  更新的流程主要是:版本检查-->下载更新->加载新.so文件。

a. 版本检查:在版本放出去的时候本地加入一个更新配置文件。如:

1

1.0.0.1

http://xxxxxx/update.plist

通过配置的检查地址 http://xxxxxx/update.plist,去获取服务器最新的版本号 。 update.plist如下:

1

1.0.0.2

http://192.168.30.124/test/

000000000000000000000

b.下载更新: 如果有更新根据规则,选择适合自己CPU架构的库文件下载。下载完成之后进行完整性校验。

3. 加载.so文件

修改原来的Cocos2dxActivity.java文件,加入跳过加载原来库文件逻辑。

public final static String FLAG_SKIP_LOAD_LIB = "key-isSkipLoadLib";

protected void onCreate(final Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

Boolean isSkipLoadLib = false;

if(savedInstanceState != null)

isSkipLoadLib = savedInstanceState.getBoolean(FLAG_SKIP_LOAD_LIB);

if(!isSkipLoadLib)

onLoadNativeLibraries();

sContext = this;

this.mHandler = new Cocos2dxHandler(this);

Cocos2dxHelper.init(this);

this.init();

if (mVideoHelper == null) {

mVideoHelper = new Cocos2dxVideoHelper(this, mFrameLayout);

}

}

4. 代码太多,直接上链接:源码

5. 还差ZIP压缩下载和MD5校验。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值