Android NDK 建立cocos2dx项目

最近开始学习cocos2dx开发手机游戏,搞定了开发环境后,准备开始使用cocos2dx来写demo了。

       用惯了VS建立项目方式,发现用cocos2dx开发建立一个工程都是很难,勉强把cocos2dx的hello world跑起来了,但是如何新建项目却不会,在网上查了,自动构建项目还要去下载python,对于我这样的新手来说,实在是太困难了。而且我特别不喜欢依赖过多的项目。还有一种方式就是改samples下面的示例程序,这种方案也够呛,要改很多的环境变量和依赖路径,而且每次新建一个都得重新修改。

       还是得自力更生才行,历经千辛万苦,查了无数资料,终于能够用Eclipse建立并改造能开发cocos2dx的Android项目了。记录下过程,以后可以查阅,也希望为为建立一个独立的cocos2dx死伤无数脑细胞的朋友提供一种思路。

       本文内容的前提条件,需要安装好Android SDK和NDK环境,如果还没有构建好的朋友,可以去参考我上一篇博文。

Android NDK 构建开发环境并运行第一个NDK示例

       然后我们开始建立独立的cocos2dx的项目吧!别忘了先下载cocos2dx的源代码哦!

       第一步,用Eclipse建立一个普通的Android SDK程序,并按照示例程序的目录结构调整一下,然后按照上一篇文章中说说的,将这个程序变成NDK程序(项目右键选择Android Tools->Add Native Support)。这个时候直接就能编译成功了,而且如果配置了NDK路径后,一旦经过编译,Eclipse会自动把NDK的路径加到项目的C++ General里面的Path里面,比自己去添加好多了。(PS,在这里,我们可以把一些不需要的文件删掉,比如layout,menu,不需要的string文件等,我个人喜欢完美,所以看不惯这些东西,当然这些也可以不删,并不影响我们使用cocos2dx。)

       第二步,我们需要把cocos2dx封装Android SDK的java代码copy到我们新建项目的src下面。这些代码的路径是:cocos2dx根目录\cocos2dx\platform\android\java\src,然后把示例下面的代码(包括java和c++代码)copy到新项目相应目录,Android.mk、Application.mk copy到项目的jni目录,把Android.mk里面的内容改成新建项目的内容。

       第三步,新配置一个Builder,这里我就不细讲了,我在上一篇博文里面已经讲过了。

       第四步,配置NDK编译cocosdx的环境变量,这个可以配置在Builder的环境变量表里面,也可以写在Application.mk文件里面,大家可以参考我的:

NDK_MODULE_PATH := F:\技术预研\cocos2d\cocos2d-x-2.2\;F:\技术预研\cocos2d\cocos2d-x-2.2\cocos2dx\platform\third_party\android\prebuilt

       这个时候,我们就可以开始编译啦,配置NDK_MODULE_PATH后,不用添加cocos2dx的路径到C++ General下面的Path里面,Eclipse会自动添加进去。编译成功后运行会发现不能运行,查看日志是找不到png图片资源,这是为什么呢?因为以前编译cocos2dx是使用Cygwin去编译build_native.sh,看看这个文件里面有些什么内容呢?发现他会copy Resources的资源到项目的assets目录,原来如此!我们手动把Resources的内容copy到assets吧,再运行,发现已经可以跑cocos2dx程序啦!大功告成!

       手动copy资源的问题我想了好久没解决问题,不熟悉编译流程,不知道哪里能加一段shell,先就手动copy吧,如果有高手知道,麻烦指点一下!如果看了本篇博文,您还有不理解的地方,请你给我留言,谢谢!

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Jed的技术阶梯

《Maven实战》全书总结

把MAVEN_HOME/conf/seettings.xml cp 到 ~/.m2/下,在.m2下的settings.xml中所作的配置就是用户级别的配置,而直...

4231

Go微服务,第10部分:集中式日志记录

在Go微服务博客系列的这一部分中,我们将介绍基于Logrus,Docker Gelf日志驱动程序和“作为服务的日志记录” Loggly服务的Go微服务的日志记录...

4474
来自专栏Java工程师日常干货

ActiveMQ从入门到精通(二)消息的顺序消费JMS Selectors消息的同步 AND 异步 接受MessageP2P or Pub/Sub持久化订阅持久化消息到MySQL与Spring整合 J

接上一篇《ActiveMQ从入门到精通(一)》,本篇主要讨论的话题是:消息的顺序消费、JMS Selectors、消息的同步/异步接受方式、Message、P2...

1853
来自专栏黑泽君的专栏

安装最新版本的Oracle公司的虚拟机软件 VirtualBox + 安装虚拟机 Windows XP 系统 + 安装 Oracle 11g 软件 + 出现 ERROR: ORA-12541: TNS

  VirtualBox的下载链接:https://www.virtualbox.org/wiki/Downloads

2661
来自专栏数据和云

我们都被骗了,所有的跨平台迁移都可以通过XTTS实现

自从2015年初进行了xtts增量的U2L迁移测试之后,国内很多人都开始利用这种方案进行数据库跨平台迁移了,基本上都是利用Oracle 封装的perl脚本。其中...

3485
来自专栏运维咖啡吧

记一次诡异的故障排查经历

管理员通过Jenkins调用“发布程序(代号varian,以下简称varian)”,发布程序会进行一系列的初始化操作,完成后生成Docker镜像上传到Docke...

1072
来自专栏Java学习123

shell获取当前工作目录绝对路径

2.4K7
来自专栏Vamei实验室

Java网络01 Tomcat初次尝试

Tomcat是一套开源软件,它由Apache Software Foundation(ASF)开发,用于实现Java Servlet和JavaServer Pa...

2109
来自专栏行者常至

DWR的简单使用

3 标签是dwr中重要的标签,用来描述 java(服务器端) 与 javascript (客户端)的交互方式。 其中,creator和javascript...

822
来自专栏向治洪

在Windows下搭建React Native Android开发环境

安装JDK 从Java官网下载JDK并安装。请注意选择x86还是x64版本。 推荐将JDK的bin目录加入系统PATH环境变量。 安装Android S...

2826

扫码关注云+社区

领取腾讯云代金券