您的位置:首页 > 移动开发 > Cocos引擎

Windows平台Android下2.1版cocos2d-x的环境搭建

2014-02-11 13:57 232 查看


上周浪费了整整一个多星期的时间搭建环境,其中遇到的各种问题真是万分纠结,自己对c的东西也不太熟悉,网上好多帖子说不用cygwin可以搭建,但是我是没搭建出来,可能是版本的原因,现在将自己搭配cocos2d-x环境的经验总结一下,有喜欢的朋友可以大家探讨一下。

我自己搭配的环境如下:

平台:windows 7

ndk版本:android-ndk-r8e

cocosd-x版本:cocos2d-2.1rc0-x-2.1.2

Eclipse、ADT、SDK的搭建这里就不浪费时间去一一叙述了,网上可以找到很多的帖子。

在上述条件都搭配好的情况下,我们开始cocos2d-x的环境搭建

一.下载安装Android NDK

链接地址:http://developer.android.com/tools/sdk/ndk/index.html

下载之后直接解压即可,一会我们再修改

二.下载安装cygwin

链接地址:http://www.cygwin.com 下载setup.exe

1、 然后双击运行吧,运行后你将看到安装向导界面:

2、 点击下一步

此时让你选择安装方式:

1)Install from Internet:直接从Internet上下载并立即安装(安装完成后,下载好的安装文件并不会被删除,而是仍然被保留,以便下次再安装)。

2)Download Without Installing:只是将安装文件下载到本地,但暂时不安装。

3)Install from Local Directory:不下载安装文件,直接从本地某个含有安装文件的目录进行安装。

3、选择第一项,然后点击下一步:

4、选择要安装的目录,注意,最好不要放到有中文和空格的目录里,似乎会造成安装出问题,其它选项不用变,之后点下一步:

5、上一步是选择安装cygwin的目录,这个是选择你下载的安装包所在的目录,默认是你运行setup.exe的目录,直接点下一步就可以:

6、此时你共有三种连接方式选择:

1) Direct Connection:直接连接。

2) Use IE5 Settings:使用IE的连接参数设置进行连接。

3) Use HTTP/FTP Proxy:使用HTTP或FTP代理服务器进行连接(需要输入服务器地址、端口号)。

用户可根据自己的网络连接的实情情况进行选择,一般正常情况下,均选择第一种,也就是直接连接方式。然后再点击“下一步”,

7、 这是选择要下载的站点,我用的是http://mirrors.kernel.org,速度感觉还挺快,选择后点下一步

8、 此时会下载加载安装包列表

安装时,在 Cygwin 默认安装配置没有安装gcc 编译器,我们必须用到的 Devel 类中的四个

组件包,如果嫌找起来过于麻烦,可将Devel 类从Default改为Install 全部安装也可,四个组件

包为:

1. binutils组件



gcc 组件



gcc - mingw组件



gdb 组件



make 组件



安装完成后,运行cygwin,在弹出的命令行窗口输入:cygcheck -c cygwin命令,会打印出当前cygwin的版本和运行状态,如果status是ok的话,则cygwin运行正常,效果如下图:



然后依次输入gcc –v,g++ -v,make –v,gdb –v进行测试,如果都打印出版本信息和一些描述信息,至此,你的cygwin安装完成了!

三.配置NDK环境变量

为了不让大家步入我的后尘,在这里得注意:最好不要用记事本打开.bash_profile文件,用EditPlus等编辑工具打开编辑,因为该文件的编码格式默认为ASNI,如果改变了它的编码格式会导致后续报错。

1、 首先找到cygwin的安装目录,找到一个home<你的用户名>.bash_profile文件,我的是:E:cygwinhomeAdministrator.bash_profile,(注意:我安装的时候我的home文件夹下面神马都没有,解决 的办法:首先打开环境变量,把里面的用户变量中的HOME变量删掉,在E:cygwinhome文件夹下建立名为Administrator的文件夹(是用户名),然后把E:cygwinetcskel.bash_profile拷贝到该文件夹下)。

2、 打开bash_profile文件,添加NDK=/cygdrive/<你的盘符>/ 例如:NDK=/cygdrive/f/android-ndk-r8e

export NDK

NDK这个名字是随便取的,为了方面以后使用方便,选个简短的名字,然后保存

3、打开cygwin,输入cd $NDK,如果输出上面配置的/cygdrive/e/android-ndk-r5信息,则表明环境变量设置成功了。

四、用NDK来编译程序

1、 现在我们用安装好的NDK来编译一个简单的程序吧,我们选择ndk自带的例子hello-jni,我的位于E:android-ndk-r7sampleshello-jni(根据你具体的安装位置而定),

2、 运行cygwin,输入命令cd /cygdrive/e/android-ndk-r7/samples/hello-jni,进入到E:android-ndk-r7sampleshello-jni目录。

3、 输入$NDK/ndk-build,执行成功后,它会自动生成一个libs目录,把编译生成的.so文件放在里面。($NDK是调用我们之前配置好的环境变量,ndk-build是调用ndk的编译程序)

4、 此时去hello-jni的libs目录下看有没有生成的.so文件,如果有,你的ndk就运行正常啦!

五.下载cocos2d-x-2.0.1解压

链接地址:http://cocos2d-x.org/projects/cocos2d-x/wiki/Download

下载后解压出来

1. 进入cocos2d- x 目录,找到create- android- project.bat 文件,使用EditPlus等编辑工具打开进

行编辑,修改如下项目:

1) 找到set _CYGBIN= 在等号后面填入本机cygwin/bin 目录,如:C : cygwin bin

2) 找到set _ANDROIDTOOLS= 在等号后面填入本机Android/tools 目录,如:

D: Android android- sdk - windows tools

3) 找到set _NDKROOT= 在等号后面填入本机NDK目录,如:

D: Android android-ndk-r8e

修改完成后保存关闭。

2.配置本机环境变量(又是LZ的血泪史啊T_T)

右键我的电脑->点击属性->高级系统设置->点击环境变量

在系统变量中新建 变量名为:NDK_ROOT,变量值为:你的NDK路径,例:F:android-ndk-r8e
重新运行cocos2d- x 下的create- android- profect.bat 文件, 首先输入项目的包名,如:com.MyGame 。 回车后会要求输入工程名,最好和目录名一致,如:MyGame。 回车后会要求选择AndroidSDK的版本号,一般选择2.1 以上版本,我选的是31 回车后会在cocos2d- x 目录中生成一个MyGame的工程目录,工程目录中含有android、Classes、
Resource 三个子目录。

4、用cygwin编译我们产生的工程

1)定位到工程目录下,如下图



2)执行./build_native.sh命令,如下图



如果是第一次编译会产生很多信息,最后查看MyGame/proj.android/libs/armeabi文件夹下生成了.so文件,证明编译成功。

补充:

问题:库生成的时候没有权限造成so生成失败(win7可能出现此问题)

解决办法:运行cmd 将其路径定位到你的工程库目录下(如:D:workcocos2d-x-2.0.1MyHelloWorldproj.androidobjlocalarmeabi 这是我的,你的对应)

然后执行: takeown /f * /a /r

然后再执行: icacls * /t /grant:r everyone:f

六.把工程导入Eclipse中

1)打开Eclipse,选择File->New->Project->Android->Android Project from Existing Code,导入MyGame下的proj.android文件夹,如下图



导入后会看到工程报错,因为未导入cocos2d-x的jar包

2)再次选择Eclipse的File -> New -> Project… -> Android -> Android Project from Existing Code,这一次在Root Directory里面,选择cocos2d-2.0-x-2.0.3cocos2dxplatformandroidjava所在的路径:

3)右键之前导入的MyGame工程,选择Properties -> Android;拉到最下面



如果右下方你的Library列表里有个项目前面有个红叉,选中,Remove。然后Add:



然后点eclipse的Project->clean ,工程不报错了,可以在真机运行了(PS:因为OPENGL的关系,想要在模拟器上运行还需要进行一些设置,以下的LZ自己没做,想要修改的可以去网上查阅下资料)

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: