cocos2d-x 2.1.4 android开发环境搭建--终极整理

1、Eclipse平台搭建

请参考其他博文如何下载ADT,SDK,CDT,ADT,如果未安装Eclipse,则应先安装JDK,并设置环境变量,还是详情参考其他博文,毕竟网上这些资料很多。

 

2、下载NDK

建议下载NDK较新版本,否者可能在编译时出错,本人下载的是android-ndk-r8e,以下为下载网页,进入下载自己所需版本:

http://developer.android.com/tools/sdk/ndk/index.html

设置NDK环境变量,新建NDK_ROOT 变量值( D:\android-ndk-r8e)具体取决于ndk安装路径

 

3、下载Cygwin

请参考其他博文所需下载的配件,第一次下载完成后,最好把下载的包目录做个备份,下次安装同样的环境可以直接使用离线安装方式(第二步中选择本地安装)。一定要安装gcc g++ gdb make这些工具。

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

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

在命令行中进入cygwin目录,并执行cygwin.bat,如果你不是用Administrator账号登录的系统,那么会在cygwin\home\文件夹中生成一个以你的登录名命名的新的文件夹。

修改新生成文件夹中的“.bash_profile ”文件,用UE或editplus等文本编辑器打开,在最后增加: (/d/android-ndk-r8e是安装ndk的路径)

NDK_ROOT=/cygdrive/d/android-ndk-r8e
export NDK_ROOT

然后保存关闭。

建议用专业点的文档编辑器,就不要用那啥了,我用的是UtalEdit,在cygwin中输入如下:cocos2d-x 2.1.4 android开发环境搭建--终极整理_第1张图片

出现路径,说明已配置正确。

4、编辑create-android-project.bat

这步之前需要先安装 Python 2.7.3 ;最好安装这个版本,其他版本可能有问题

在Cocos2d-x-2.1.4下找到此文件,编辑_ANDROIDTOOLS ,_CYGBIN ,_NDKROOT变量的值,为你安装目录的路径如下修改:

cocos2d-x 2.1.4 android开发环境搭建--终极整理_第2张图片


5,运用Python建立新的项目

Cocos2d-x-2.1.4提供新建项目的快捷方法,使用project-creator.py这个python脚本进行工程项目的创建和配置:

使用上面的例子,假如我想新建一个HelloWorld项目,执行create_project.py脚本,进入Dos命令行界面输入下面的命令:

(1)D:   //切换盘符,因为我的Cocos2d-x源码在D盘,create_project.py在该目录下。

(2)cd D:\Development\cocos2d-x-2.1.4\tools\project-creator   //进入到create_project.py脚本所在目录

(3)运行脚本,生成Snow项目(其实就是HelloWorld),命令为:

python create_project.py -project Snow -package com.cocos2dx.org -language cpp//其中Snow为工程名称,com.cocos2dx.org为包标识名。

cocos2d-x 2.1.4 android开发环境搭建--终极整理_第3张图片

在cocos2d-x-2.1.4\projects\Snow(你所新建的项目名)proj.win32目录下双击Snow.sln文件,会生成解决方案,并把相关库包含进来,不需要另外导入:cocos2d-x 2.1.4 android开发环境搭建--终极整理_第4张图片

点击启动调试,或F5,即可生成win32项目,如下所示:

cocos2d-x 2.1.4 android开发环境搭建--终极整理_第5张图片

--------------------------------------------跑在android的平台上还需要继续-----------------------------------------------------------------------

6、编译项目

首先在上面新建的里面里cd到proj.android目录下,运行:./build_native.sh

这中间我这出现问题(android/CCCommon.o' failed),因为我用的ndk如果是是r9;所以在 proj.android\jni\Application.mk 文件最后追加上

APP_CPPFLAGS += -Wno-error=format-security 就可以了。

经过编译,得到如下结果:

cocos2d-x 2.1.4 android开发环境搭建--终极整理_第6张图片

说明编译成功。


7,把项目导入到Eclipse里,右键项目->properties->builders->new->program->ok

依次配置4个界面如下图

 

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

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

 

 cocos2d-x 2.1.4 android开发环境搭建--终极整理_第7张图片

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

 

cocos2d-x 2.1.4 android开发环境搭建--终极整理_第8张图片

 

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

value处填写

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

cocos2d-x 2.1.4 android开发环境搭建--终极整理_第9张图片

 

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

cocos2d-x 2.1.4 android开发环境搭建--终极整理_第10张图片


可能会出现的问题:

1,都弄好以后如果出现cocos2d-x 2.1.4 android开发环境搭建--终极整理_第11张图片

 说明api等级不符合,只要在AndroidManifest.xml里面把minSdkversion修改一下就行了,如我应该修改成9

最后在clean一下,就等编译了,时间稍微有点长,需要耐心,如果出现如下情况说明就好了!此时运行一下程序

cocos2d-x 2.1.4 android开发环境搭建--终极整理_第12张图片


,2, 我在eclipse上述都弄好后出现下面的错误:

make: *** No rule to make target `/cygdrive/d/android/cocos2d-x-master/T12/proj.android/../../cocos2dx/CCConfiguration.cpp', needed by `obj/local/armeabi/objs/cocos2dx_static/CCConfiguration.o'. Stop.


处理方法:

把C:\cocos2d\cocos2d-x-2.1.4\projects\TestGame\proj.android\obj\local\armeabi\objs文件夹下面的内容都删掉,clean,再进行编译就可以了


3,在eclipse里面的Problems窗口内一直报:

Description Resource Path Location Type
Program "bash" is not found in PATH TestGame C/C++ Problem


解决办法:

创建新的环境变量 NDK_MODULE_PATH   

调整 “项目属性-C/C++ Builder” 选项,将 “Build command” 的值从原来的 bash ${ProjDirPath}/build_native.sh 设置为 x:\android-ndk-r8e\ndk-build.cmd

加入 NDK_MODULE_PATH 值:D:\Documents\Downloads\cocos2d-x-2.1.4;D:\Documents\Downloads\cocos2d-x-2.1.4\cocos2dx\platform\third_party\android\prebuilt


运行如下

如果出现黑屏现象,则是因为权限不够的问题,此时将资源文件复制到assest文件夹下。
将NDK 目录下的/sources/cxx-stl/gnu-libstdc++/libs/armeabi/ 目录下的libgnustl_static.a 文件复
制到项目文件夹下的obj/local/armeabi/libgnustl_static.a 目录下,之后右键项目选择runas-Android
Application 运行就搞定了!



你可能感兴趣的:(cocos2d-x)