Cocos2d-x 2.1.5 + NDK r8e + CygWin 开发环境配置

时间:2022-09-30 16:06:58

准备素材:

1.ADT

2.JDK

3.VS2010、2012

4.CygWin

5.cocos2d-x(2.1.5)

6.NDK r8e(r9有个bug所以先不用)

Part 1:配置各种环境变量,推荐个环境变量查看器(RapidEE)

1.JDK的环境变量 JAVA_HOME及Path的添加bin和jre\bin

2.NDK_ROOT

3.COCOS2DX_ROOT

4.ANROID_SDK_HOME 及Path中加入tools和platform-tools

Part2:安装CygWin(补充说明一下NDK r8之后就可以不需要这东东)

1.需要安装的文件有autoconf2.1、automake、binutils、gcc-core、gcc-g++、gdb、pcre、pcre-devel、

gawk、make

2.打开cygwin,进入cygwin的根目录运行一下cygwin.bat文件,修改cygwin\home\username下的.bash_profile。

最后加入ndk的路径,蓝色部分因人而异

ANDROID_NDK_ROOT=/cygdrive/c/NDK

export ANDROID_NDK_ROOT

Part3:创建一个属于自己的cocos2d-x工程

1.使用vs模板 和 create-android-project.bat(2.1.2之后就弃用了,这种方法适合用cygwin编译)

2.使用create_project.py程序创建多平台项目工程(这个很多教程查查,这种方法适合直接用NDK编译)


下面的部分不影响对学习cocos2d-x,只是可以将win平台下写好的程序移植到Android平台上。

Part4:利用cygwin环境编译

1.首先修改proj.android\jni\Android.mk文件,该编译哪些cpp都加进去

2.打开cygwin,指定到工程文件夹下 ./build_native.sh

3.最后生成.so文件就成功了,后面导入eclipse通过模拟器或者真机调试

(模拟器Android2.2 运行黑屏,用4.1.2就没问题了)

Part5:直接利用NDK编译

1.导入工程到eclipse,配置工程属性修改C/C++Build为ndk-build.cmd(改为用这个就跟cygwin说byebye)

2.最让人纠结的一步,总是提示说没有定义NDK_MODULE_PATH,我试过添加windows环境变量,在eclipse工程属性下添加工程环境变量也不行,看第3步。

3.找到android工程下的jni\Android.mk(蓝色部分因人而异)

$(call import-add-path, E:/cocos2d-x-2.1.5)\

$(call import-add-path, E:/cocos2d-x-2.1.5/cocos2dx/platform/third_party/android/prebuilt)\

还有添加要编译的cpp文件,下面的语句可以一次性添加Classes目录下的所有.cpp文件

FILE_LIST := hellocpp/main.cpp

FILE_LIST += $(wildcard $(LOCAL_PATH)/../../Classes/*.cpp)

LOCAL_SRC_FILES := $(FILE_LIST:$(LOCAL_PATH)/%=%)

4.没看到NDK编译工程的,右键工程Close Project再打开就可以了,最后生成.so完成。

(模拟器我还是选4.1.2的,运行成功)

Cocos2d-x 2.1.5 + NDK r8e + CygWin 开发环境配置

Cocos2d-x 2.1.5 + NDK r8e + CygWin 开发环境配置

总结:

尽量选用NDK直接编译,这是以后更常用的做法,如果操场系统不是Windows的那也没什么所谓,cywin主要是模拟一个unix环境,移植win平台写好的cpp代码到android最重要的还是修改好jni\Android.mk,这一步是最重要的。

参考资料:http://gl.paea.cn/contents/8f23d0cb16c1f619.html