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

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

2013-09-02 17:46 316 查看
上周浪费了整整一个多星期的时间搭建环境,其中遇到的各种问题真是万分纠结,自己对c的东西也不太熟悉,网上好多帖子说不用cygwin可以搭建,但是我是没搭建出来,可能是版本的原因,现在将自己搭配cocos2d-x环境的经验总结一下,有喜欢的朋友可以大家探讨一下。我自己搭配的环境如下:平台:windows 7ndk版本:android-ndk-r8ecocosd-x版本:cocos2d-2.1rc0-x-2.1.2Eclipse、ADT、SDK的搭建这里就不浪费时间去一一叙述了,网上可以找到很多的帖子。在上述条件都搭配好的情况下,我们开始cocos2d-x的环境搭建一.下载安装Android
NDK链接地址:http://developer.android.com/tools/sdk/ndk/index.html下载之后直接解压即可,一会我们再修改二.下载安装cygwin链接地址:http://www.cygwin.com 下载setup.exe1、 然后双击运行吧,运行后你将看到安装向导界面: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组件![cyg1.png](

'cyg1.png')2. gcc 组件![cyg2.png](http://a1.eoe.cn/www/home/201306/09/9631/51b4374474a84.png
'cyg2.png')3. gcc - mingw组件![cyg3.png](http://a1.eoe.cn/www/home/201306/09/73c9/51b43751a01d4.png 'cyg3.png')4. gdb 组件![cyg4.png](http://a1.eoe.cn/www/home/201306/09/8fcb/51b43762379f4.png 'cyg4.png')5. make 组件![cyg5.png](http://a1.eoe.cn/www/home/201306/09/3ae4/51b437753b885.png
'cyg5.png')安装完成后,运行cygwin,在弹出的命令行窗口输入:cygcheck -c cygwin命令,会打印出当前cygwin的版本和运行状态,如果status是ok的话,则cygwin运行正常,效果如下图:![cyg6.png](http://a1.eoe.cn/www/home/201306/09/4235/51b4384c72f2b.png 'cyg6.png') 然后依次输入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-r8eexport NDKNDK这个名字是随便取的,为了方面以后使用方便,选个简短的名字,然后保存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-r8e3. 重新运行cocos2d- x 下的create- android- profect.bat 文件, 首先输入项目的包名,如:com.MyGame 。 回车后会要求输入工程名,最好和目录名一致,如:MyGame。 回车后会要求选择AndroidSDK的版本号,一般选择2.1
以上版本,我选的是31 回车后会在cocos2d- x 目录中生成一个MyGame的工程目录,工程目录中含有android、Classes、Resource 三个子目录。 4、用cygwin编译我们产生的工程1)定位到工程目录下,如下图![cyg7.png](http://a1.eoe.cn/www/home/201306/09/b4d5/51b440b2eef07.png 'cyg7.png')2)执行./build_native.sh命令,如下图![cyg8.png](http://a1.eoe.cn/www/home/201306/09/70b7/51b44110f1625.png
'cyg8.png')如果是第一次编译会产生很多信息,最后查看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文件夹,如下图![ec1.png](http://a1.eoe.cn/www/home/201306/09/a05a/51b444340fb62.png 'ec1.png')导入后会看到工程报错,因为未导入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;拉到最下面![ec2.png](http://a1.eoe.cn/www/home/201306/09/0926/51b4458fd8f19.png
'ec2.png')如果右下方你的Library列表里有个项目前面有个红叉,选中,Remove。然后Add:![ec3.png](http://a1.eoe.cn/www/home/201306/09/a558/51b445bddf07d.png 'ec3.png')然后点eclipse的Project->clean ,工程不报错了,可以在真机运行了(PS:因为OPENGL的关系,想要在模拟器上运行还需要进行一些设置,以下的LZ自己没做,想要修改的可以去网上查阅下资料)![1350555600_2028.jpg](http://a1.eoe.cn/www/home/201306/09/8750/51b4464f3e6c0.jpg
'1350555600_2028.jpg')

声明:eoe文章著作权属于作者,受法律保护,转载时请务必以超链接形式附带如下信息

原文作者:
xdr0542

原文地址: http://my.eoe.cn/durian_cake/archive/4665.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: