下载安卓APP箭头
箭头给我发消息

客服QQ:3315713922

游戏开发环境搭建:Cocos2D-X+Android+Eclipse+Windows 8

作者:课课家教育     来源: http://www.kokojia.com点击数:1063发布时间: 2016-05-21 15:17:25

标签: Cocos2D-X安卓Cocos2D-X环境Cocos2D-X游戏开发

  我们在游戏开发中常常会需要不同的开发环境,搭建游戏开发环境都是需要很细心地按部就班操作的,本篇教程将为你演示怎么搭建Cocos2d-x+Android+Eclipse+Windows 8环境。

  琢磨着弄弄Cocos2d-x,配置下 Cocos2d-x + Android + Eclipse + Windows 8 的开发环境,过程比较心酸曲折,做个记录以备后用

  我的基础环境

  不做详述,不清楚查阅[Android开发环境搭建]的文档即可

  - Windows8

  - Eclipse Helios 3.6.2

  - JDK1.6

  - Android SDK/ADT

  安装 Cocos2d-x

  - cocos2d-2.1rc0-x-2.1.2.zip

  - 下载完成后,解压缩

游戏开发环境搭建:Cocos2D-X+Android+Eclipse+Windows 8_Cocos2D-X安卓_Cocos2D-X环境_Cocos2D-X游戏开发_课课家

  安装 CDT

  - Eclipse的C/C++插件,如不需要在Eclipse中编写C/C++代码可先不用安装

  - CDT-7.0.2 for Helios

  - 这里需要注意的是,不同版本的Eclipse要安装不同版本的CDT插件;

  我的Eclipse版本是Helios,则对应cdt-master-7.0.2.zip。

  - 下载完成后解压缩;本地插件安装方法,在Eclipse根目录下新建links文件夹,

  在links文件夹里新建cdt.link,里面的内容填写为:path= 你的CDT目录,例如:

  path=F:\\\\eclipse-plugins\\\\cdt-master-7.0.2

  再打开Eclipse,插件就已经装好了.

  安装 NDK

  - android-ndk-r8e-windows-x86.zip

  - 下载完成后,解压缩

  - 配置NDK_ROOT环境变量(直接配置在WINDOWS环境变量中即可)

  右键计算机->属性->高级系统设置->高级->环境变量->在系统变量中新建

  变量名:NDK_ROOT

  变量值:你的NDK目录(例如 F:\\android\\android-ndk-r8e)

  然后找到名为Path的系统变量,在句首添加%NDK_ROOT%;别忘记分号

  安装 Cgywin

  - 由于NDK开发大都涉及到C/C++在GCC环境下编译、运行,所以在Windows环境下,需要模拟Linux模拟编译环境

  - 运行setup程序,直接点击Next进入下一步。

  - 选择安装方式,第一次可以采用Direct Connection在线下载安装,如有现成的离线包,可以选择离线安装(Install from Local Directory)。

  - 选择安装目录

  - 选择本地包存储目录(第三部所说,下次即可直接使用该本地包进行离线安装Cygwin)

  - 设置网络连接方式以及选择镜像站点地址

  - 选择安装项,在这里我们只选择当前需要的,点击列表中Devel,将后面的Default改为Install,下载

  - 下载完成后会自动安装到上文设置的安装目录。运行cygwin,在弹出的命令行窗口输入:cygcheck -c cygwin命令,会打印出当前cygwin的版本和运行状态,如果status是ok的话,则cygwin运行正常

  - 配置文件权限管理

  Cygwin一样模拟了Linux的权限管理体系,这也没有什么不好的,但是跟Microsoft Windows的默认权限管理却有些不对付。常会出现权限问题,一个文件可以手动改,但如果是多个文件就比较麻烦了,我这里采用彻底的解决方法是,在安装好Cygwin以后,禁止Cygwin采用POSIX体系的权限管理。使用文本编辑器打开 Cygwin目录\\etc\\fstab,末尾添加如下行:

  none / cygdrive binary,user,noacl,posix=0 0 0

  创建 Android 项目

  - 进入cocos2d-x目录,右键点击create-android-project.bat,编辑,更改批处理里的参数;

  - 将_CYGBIN设置为cycgwin\\bin安装的的绝对路径(例:F:\\Cygwin\\bin)

  - 将_ANDROIDTOOLS设置为android sdk/tools绝对路径(例:F:\\android\\android-sdk-windows\\tools)

  - 将_NDKROOT设置为android ndk的绝对路径(例:F:\\android\\android-ndk-r8e)

  - 修改完毕,保存后,双击create-android-project.bat开始工程创建向导

  - 首先是输入包名(建议按照android的命名规则),如org.yourname.test

  - 然后输入工程名称(注意不要输入已有的文件夹的名字,如果同名,会被覆盖掉的)如TestCocos2dx

  - 选择target id,他会列出不同API方案用ID来标识,根据你的需要选择

  - 创建完成(如果创建过程中遇到权限错误,请确认上述Cygwin文件权限管理是否配置过了)

  - 查看cocos2d-x的目录下,则多了一个文件夹,文件夹名则为你刚刚输入的工程名称TestCocos2dx

  进去看到三个文件夹:

  Classes 存放默认工程的C++文件

  proj.android android的eclipse工程项目

  Resources 资源文件

  - 编译刚创建的TestCocos2dx项目

  打开cygwin,进入到 TestCocos2dx/proj.android下,输入 ./build_native.sh 开始编译,如下图

  关于build_native.sh,进去查看即可知道,这是一个检查NDK_ROOT变量,拷贝资源文件,然后编译的一个脚本。

  将项目导入Eclipse;File->Import->Android->Existing Android Code Into Workspace

  Root Directory 选择刚刚创建的TestCocos2dx项目下的proj.android,如下图

  导入后,出现一个错误:The import org.cocos2dx.lib cannot be resolved

  那我们将设置一下cocos2d-x的引用即可

  右键项目->build path->link source->Browse->选择地址

  F:\\android\\cocos2d\\cocos2d-2.1rc0-x-2.1.2\\cocos2dx\\platform\\android\\java\\src

  Folder name 填写为一个不与src冲突的名称,如cocos2dx-src 即可,然后finish

  现在项目就可以正常跑起来了,连上真机,Run as Android Application

  需要注意的是模拟器不支持opengl es2.0,所以用模拟器跑是有问题的。

  运行结果如下图:

  关于脱离Cygwin,配置Eclipse自动编译的补充

  还是以上述项目来说;

  在Eclipse里,右键项目->properties->builders->new->program->ok

  main面板下->location->browse file system->选择你的NDK目录下的ndk-build.cmd

  main面板下->working directory->browse workspace..->选择当前项目

  refresh面板下的specific resource选择为当前目录下的jni文件夹,如下图

  environment面板下->new...->如下所示

  value处填写

  cocos2d-x的根目录+分号+cocos2d-x的根目录/cocos2dx/platform/third_party/android/prebuilt

  或者在当前项目的jni文件夹下,编辑Application.mk 末行添加(更改为你自己的路径)

  NDK_MODULE_PATH:=f:/android/cocos2d/cocos2d-2.1rc0-x-2.1.2;f:/android/cocos2d/cocos2d-2.1rc0-x-2.1.2/cocos2dx/platform/third_party/android/prebuilt

  以上两种方法任选其一;

  需要注意的是:路径里不能含空格符,这里windows是以分号做分隔符,linux是以冒号做分隔符

  Build Options面板下,Specify Resouces..选择当前项目的jni文件夹,其他配置如下图:

  最后,OK,配置好后,Project->Clean,则会开始自动编译,控制台显示信息如下:

  如果遇到AssetManager.a的错误,清空obj文件夹里的内容即可。

赞(12)
踩(3)
分享到:
华为认证网络工程师 HCIE直播课视频教程