cocos2dx写的程序能在android运行吗
2015-02-05 · 知道合伙人数码行家
知道合伙人数码行家
向TA提问 私信TA
有的人有疑问,不知道cocos2dx写的程序能在android运行吗?今天找到了相关的内容。
cocos2dx开发的在android平台下运行的程序,是以一个.so用户库文件提供给JAVA层调用。所以我们在JAVA层实现检查更新,下载最新库文件,并跳过加载原来库文件,加载新库文件即可。
1. 首先,在AndroidManifest.xml里新增一个activity,以供执行更新。
2. 更新的流程主要是:版本检查–>下载更新->加载新.so文件。
a. 版本检查:在版本放出去的时候本地加入一个更新配置文件。如:
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. 还差ZIP压缩下载和MD5校验。