(本文所用cocos2d-x版本为2.1.5,ndk版本为android-ndk-r9)
1. 配置android工程生成脚本
打开create-android-project.bat在里面设置好cygwin目录,android sdk tools目录以及NDK目录
图1
2.配置完成后运行create-android-project.bat根据提示输入参数会在cocos2d-x根目录下生成android工程(注:如果目录下有相同项目名工程老版本会覆盖,2.1.5版本会提示项目已存在),这里输入的为HelloWorld,目录如下:
注意:使用create-android-project.bat生成android工程时提示输入工程名不能形如xx.xx...(java包名的形式),否则无法创建工程.
3.将win32工程里的Classes拷贝到刚才生成的android工程HelloWorld的Classes下(注意拷贝前先删除HelloWorld工程Classes里面的多余的cpp和h文件,这些事项目自动生成的),将Win32项目里的Resources拷贝到当前Resources下(拷贝前删除HelloWorld工程Resource里面自动生成的资源).
4.编辑proj.android目录下的Android.mk文件,将Classes中的cpp文件加进去
5.运行android工程proj.android目录下的build-native.sh脚本开始编译
注意:运行build-native.sh之前要确保在cygwin中设置了环境变量NDK_ROOT路径(NDK目录),具体设置为:
用记事本打开"cygwn/home/你的用户名/.bash_profile"文件,在末尾加入以下语句
NDK_ROOT=/cygdrive/E/android/android-ndk-r9
export NDK_ROOT
编译过程不仅会编译自己写的代码,还会将cocos2dx库以及第三方库都编译进来,当然可以用cygwin编译自己的代码而不调用build-native.sh然后将已经编译好的cocos2dx库及第三方库拷贝进android工程中.
6.打包成apk文件,打包有两种方式,一种是用Ant来打包(《使用Ant打包android程序》),这样就不用导入eclipse中了,一种是导入eclipse中打包
注意:导入到eclipse中时不要选择"Copy project into workspace",因为生成的android项目引用了../../cocos2dx/platform/android/java库,如果工程要放到其他地方时可以将库文件拷贝进工程中