2.2.3 新建项目及交叉编译
Android下的Cocos2D-x编译在2.0版本以后已经因为使用NDK的r7版本,而不需要使用Cygwin的辅助,但是新建项目还是需要Cygwin的。
1)下载Cygwin。
从官方地址http://cygwin.com/install.html下载Cygwin的在线安装文件,双击下载安装Cygwin。
2)使用任意文本编辑工具打开Cocos2D-x目录下的create-android-project.bat文件。
如图2-23所示,方框中的部分为我们需要修改Cygwin、Android SDK和Android NDK目录的位置。
图2-23 需要修改的Cygwin、Android SDK和Android NDK的目录
3)双击create-android-project.bat文件,在命令行模式下输入项目的包名项目名、SDK版本等,选择后完成新建,如图2-24所示。
图2-24 新建Android项目
4)根据2.2.1节中的内容编译运行firsttest项目,效果如图2-25所示。
图2-25 新建项目运行结果
5)编辑Android.mk文件。
把游戏项目的C++文件信息输入Android.mk文件中,如图2-26所示。
图2-26 编辑Android.mk文件
注意 不同版本的MK文件的位置是不同的,Cocos2D-x的1.0.1-x-0.11.0版本的是在Classes目录下,Cocos2D-x的2.0-rc2-x-2.0.1版本的在jni目录下。修改位置不正确,是起不到相应的效果的。
在Win32程序转换成Android项目的过程中,由于二者在规则上的不同,为了程序的可移植性更好,需要注意以下的内容:
- Win32的程序对于资源的名称是大小写不敏感的,但是在Android中,却恰恰是大小写敏感的。比如图片的名称是Example.png,在Win32程序中如果写example.png,是可以找到相应的图片的,但是在Android中却不可以。所以为了提高程序的可读性,请保持大小写的敏感。
- 需要改变Android项目的横纵屏幕时,在图2-27所示的位置上修改,分别选择landscape(横向)和portrait(纵向)即可。
图2-27 配置文件中配置屏幕方向
- VS下的编码格式与Android下的编码格式不同,所以需要统一编码格式,或者使用转换工具转换。
如果需要添加新的库,这里以Box2D库为例,在2.0之前的版本需要经过如下步骤:
1)修改工程目录下的Classes目录下的Android.mk文件,需要修改的位置如图2-28所示。
图2-28 修改Classes目录下的Android.mk文件
2)修改Android工程目录下的jni目录下的Android.mk文件,需要修改的位置如图2-29所示。
图2-29 修改jni目录下的Android.mk文件
3)修改jni目录下的Application.mk文件,需要修改的位置如图2-30所示。
图2-30 修改jni目录下的Application.mk文件
4)修改入口Activity类,需要修改的位置如图2-31所示。
在2.0之后的版本中,由于设置了环境变量NDK_MODULE_PATH,只需要修改Android工程目录下的jni目录下的Android.mk文件即可,如图2-32所示。
图2-31 修改入口Activity类
图2-32 修改Android工程目录下的jni目录下的Android.mk文件