【Cocos2dx】Cocos Creator Android平台打包效率优化

初次接触Cocos Creator小游戏开发,发现构建Android平台的工程后,进行打包,编译效率很慢,基本需要10~20分钟的时间不等,电脑也轰隆隆的响,cpu和内存处于满负载工作。新创建cocos creator工程也不复杂呀,为啥打包这么慢呢?

想起之前也接触过cocos2dx c++工程,打包也是奇慢。结合cocos2dx引擎以及gradle工程配置,初步估计是ndk编译cocos2dx引擎这一步是导致编译慢的渊源。

卡点分析

打包过程存在的卡点主要是cocos2dx基础库的编译过程慢,它需要使用ndk全量编译c++代码,代码较庞大,因此占用资源高。然而游戏开发中无需对cocos2dx基础库做修改,每次编译产物so文件可以复用。可以将ndk编译产物so文件作为gradle打包的依赖。根据这个思路,可以省略cocos2dx的编译,复用编译产物,提升游戏apk打包效率。

优化步骤

一、进行一次全量编译,提取cocos2dx编译产物

先将cocos creator工程导出android studio工程(as工程)。
在as工程中配置需要编译的目标平台库:

在这里插入图片描述

找到工程根目录下的gradle.properties文件,修改PROP_APP_ABI属性,一般配置成
PROP_APP_ABI=arm64-v8a:x86_64

编译后即可生成arm64-v8a和x86_64平台的cocos2dx目标so库,分别满足真机和PC模拟器运行。

运行gradle命令开始一次全量编译出包:./gradlew assembleRelease

编译完成后,在app/build/intermediates/merged_native_libs下找到cocos2dx的编译产物:

在这里插入图片描述

将以上红框两个文件夹复制出来,拷贝到app/libs目录下:

在这里插入图片描述

二、修改gradle配置,去掉cocos2dx库的编译

在app工程的build.gradle文件中,将上一步中libs目录配置成jni库的依赖。

具体操作:在android{}中sourceSets.main元素中添加如下配置jniLibs.srcDirs “libs”。示例:

sourceSets.main {
   
   
    java.srcDirs ".
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值