本文主要是通过androidstudio进行编译运行cocos2dx工程。

前置条件:

1:androidstudio已经下载并安装。

2:cocos2dx已经下载并打开。

这里androidstudio使用2021.3.1版本,cocos2dx使用4.0版本。

第一步,首先安装python,要创建编译cocos2dx工程,需要安装python,这里选择安装python2.7.18版本,链接见:Python Release Python 2.7.18 | Python.org,这里我选择的是Windows x86-64 MSI installer,选择合适的即可。

Android studio编译unity Android studio编译Cocos2d so_2d

下载下来后安装,安装完成后需要配置环境变量,把python安装目录写进环境变量即可。然后在cmd窗口输入python可以看到版本信息即表示安装配置成功。

Android studio编译unity Android studio编译Cocos2d so_2d_02

第二步:进入cocos2dx目录,点击setup.py,会看到命令行开始自动配置cocos环境,但是同时会要求配置android NDK,输入NDK目录即可,这里是“E:\Android\Sdk\ndk\20.0.5594570”,然后输入SDK的路径 ,这里是“E:\Android\Sdk”,输入后配置完成。

第三步,开始命令行创建工程编译工程:

具体命令可以参考官网:

引擎工具 · GitBook

格式是:cocos new <game name> -p <package identifier> -l <language> -d <location>

这里输入:cocos new CocosDemo -p com.test.CocosDemo -l cpp -d E:\CocosProjects\

然后看到命令行会创建工程成功,

Android studio编译unity Android studio编译Cocos2d so_python_03

下面是该工程的目录文件:

Android studio编译unity Android studio编译Cocos2d so_python_04

下面编译该工程,

格式:cocos compile -s <path to your project> -p <platform> -m <mode> -o <output directory>

 这里输入:cocos compile -p android -m debug  --ap android-28

对于编译指令,可以参考官方文档,可以有多个参数设置,这里设置目标平台为android,编译为debug方式,也可以为release,编译版本为28,具体可以查看下工程gradle.properties文件下


PROP_COMPILE_SDK_VERSION值是多少,下图所示本工程的gradle.properties配置信息:


Android studio编译unity Android studio编译Cocos2d so_2d_05

 下面为编译过程:

Android studio编译unity Android studio编译Cocos2d so_android_06

 之后经过几分钟会看到编译成功,如下图所示:

Android studio编译unity Android studio编译Cocos2d so_python_07

 到此,工程编译成功。

如果编译失败,可以把androidstdio中已经正确编译的工程的gradle版本配置复制过去,还需要复制工程gradle文件夹下wrapper文件夹下的gradle-wrapper.jar和gradle-wrapper.properties。把这些都复制到刚才创建的这个工程里,替换对应的配置,再次编译即可。

如:之前gradle版本是3.1.0,这里替换为3.6.4:

//classpath 'com.android.tools.build:gradle:3.1.0'
    classpath 'com.android.tools.build:gradle:3.6.4'

第四步:打开androidstudio,然后打开该工程并编译,这里可以看到工程已经编译成功:

Android studio编译unity Android studio编译Cocos2d so_android_08

Android studio编译unity Android studio编译Cocos2d so_android_09

 该工程Project Structure配置:

Android studio编译unity Android studio编译Cocos2d so_android_10

 

Android studio编译unity Android studio编译Cocos2d so_python_11

到此,可以连接设备或者用模拟器,可以看到apk可以正确安装到设备上。

其实在编译,修改cpp源文件的过程中会遇到很多问题,而且错误可能不断在变化,需要慢慢查找解决,如cmake版本问题,ndk版本问题,gradle版本问题,以及缓存等问题都可能会导致编译失败

待续。。。