cocos2d-x确实是一款优秀的引擎,尽管和正规军的unity3d比起来它显得有点土,但它在移动平台上的性能表现着实惊艳。
以下讲解如何将win32工程交叉编译到android平台。
一、环境搭建
1.完整的android编译环境(jdk+Eclipse+SDK+ADT)
2.NDK
3.cygwin
以上三者缺一不可,详细步骤读者可以参考如下文章:
二、修改相关配置文件
1.找到cygwin安装目录,定位到 home/<username>/.bash_profile 文件,在末尾添加
NDK_ROOT=/cygdrive/<NDK所在盘符>/<NDK>根路径
export NDK_ROOT
2.找到cocos2d-x引擎的根路径,定位到 create-android-project.bat 文件,做如下修改:
:: modify it to work under your environment
set _CYGBIN=<cygwin安装路径>
if not exist "%_CYGBIN%" echo Couldn't find Cygwin at "%_CYGBIN%" & pause & exit 4
:: modify it to work under your environment
set _ANDROIDTOOLS=<SDK安装路径>\tools
if not exist "%_ANDROIDTOOLS%" echo Couldn't find android sdk tools at "%_ANDROIDTOOLS%" & pause & exit 5
:: modify it to work under your environment
set _NDKROOT=<NDK安装路径>
if not exist "%_NDKROOT%" echo Couldn't find ndk at "%_NDKROOT%" & pause & exit 6
三、生成android范例工程
1.双击执行 create-android-project.bat 文件,输入包名及工程名,回车,cocos2d-x会自动生成android工程的范例版本,FAT32硬盘格式可以完全避免文件的权限问题。
2.打开范例工程,定位到 proj.android\jni\Application.mk 文件,在末尾添加
APP_CPPFLAGS += -Wno-error=format-security
这样做可以解决某些版本的NDK编译冲突问题。
3.打开cygwin,定位到 proj.android 目录,执行命令行 ./build_native.sh,编译成功之后会得到 libs\armeabi\libgame.so 文件
4.连接移动设备,使用Eclipse打开范例工程,执行run,即可看到效果。