首先先要准备好Cocos2d-x 4.0,这是现在的最新版,然后准备一个CMake,官网上下载就可以了。具体的步骤就不说了,因为很简单,网上的资料也挺多的,坑都在后面。
然后用命令cocos new test -l cpp -p xyz.holee.test -d .在项目文件夹建一个Cocos2d-x工程目录。
新建完工程,用Android Studio3.0.1打开工程里的proj.android目录,为什么不用最新版的?因为官网上用的就是这个版本,项目需要用旧版的可能会更稳定一点吧。
在Android Studio启动界面把proj.android import进来,然后一打开工程目录就是一个问题。
这是我们的Gradle插件版本的问题,首先我们先去网上查一下Gradle插件与Gradle的对应列表
现在我们看一下本地的Gradle插件版本,打开Android Studio -> File -> Project Structure -> Project
发现我们本地的版本是3.1.0,也就是说我们要装4.4的Gralde,现在打开文件gradle/wrapper/gradle-wrapper.properties。
文件里的distributionUrl=https\://services.gradle.org/distributions/gradle-5.1.1-all.zip我们要改成对应的版本,打开这个网站,找到4.4版本。
不过我这里已经打不开这个网站了,昨晚测试的时候还可以打开的,而且现在也能ping通,就是无法访问网站,不知道怎么回事,不过好在我在必应上找到了别人下载好的gradle4.4的网盘链接,应该可以直接使用,试一下吧。
这里我们需要对Gralde进行离线处理,先把下载下来的Gradle解压开,然后打开File -> Settings,搜索Gradle
使用本地gradle,点击OK,然后等下面的进度条滚一阵子。
这里出现了新的问题,
Error:(84, 0) Could not find method register() for arguments [copyDebugResourcesToAssets, [email protected]3] on task set of type org.gradle.api.internal.tasks.DefaultTaskContainer.
这里我把问题贴了一下,方便搜索引擎收录,以后遇到这个问题的网友都可以参考这篇文章,试试看能不能解决问题。
这个问题在网上暂时是没有解决方案的,我昨天被这里坑了好久,一度想放弃了,但后来还是让我给解决了,目前最好的解决方案就是找一个略高一点gradle版本,我这里昨晚下载了个gradle-4.10.3.all.zip,试试看还能不能采用昨晚的方法解决这个问题。
顺便把gradle-wrapper.properties文件中的distributionUrl改成https\://services.gradle.org/distributions/gradle-4.10.3-all.zip。
经测试,用gradle-4.10.3.all.zip就不会出现上面的问题了,这可能是旧版本的一个Bug吧,我想如果从一开始就使用gradle 4.10.3,那根本就不会出现register()的问题,这个问题我也搞不清楚是哪里的问题,反正用大版本号为4的最新版就OK了。
现在我们来点击运行,看看能不能成功。
现在,我们的安卓平台下的Cocos2d-x示例程序就这样搭建完毕了。