需要工具:1、adt, ndk;如右图:
如果没有sdk,请先装sdk;
工具搭好之后,开始交叉编译:
(1) 打开Eclipse,先选择一个工作空间,如下图:
(2)菜单File->Import,选择Andriod->Existing Andriod Code Into Workspace,选择\cocos2d-x-2.2.3\samples\Cpp\HelloCpp目录下导入proj.android项目(选择proj.android整个文件夹),点"Finish"导入,该项目是转为Android平台准备的,而其他则是为其他平台准备的。
(3)把\cocos2d-x-2.2.3\cocos2dx\platform\android\java\src里的内容复制到上HelloCpp项目中的src上,如下图:
(4)把\cocos2d-x-2.2.3\samples\Cpp\HelloCpp\Resources下面需要的文件复制到eclipse中assets文件夹(该目录在E:\cocos2d-x-2.2.3\samples\Cpp\HelloCpp\proj.android,没有则建一个文件夹,命名为assets)中,如下图:
(5)修改Application.mk文件配置。
在E:\cocos2d-x-2.2.3\samples\Cpp\HelloCpp\proj.android\jni\Application.mk文件中添加,如图:
APP_PLATFORM := android-8 //这个表示支持的sdk的最低版本,
NDK_MODULE_PATH:= E:/cocos2d-x-2.2.3;E:/cocos2d-x-2.2.3/cocos2dx/platform/third_party/android/prebuilt
(6)修改项目编译选项。
右键项目->属性, C/C++ Build,然后在右边的Builder Settings -> Build command:
注意:要把“Use default build command”前的勾取消,并修改“Build command”改为"D:\software\android-ndk-r8d\ndk-build.cmd",当然如果配过了环境变量的话也可以用相对路径,如{NDK_ROOT}\ndk-build.cmd;
接着在C/C++ Build -> Environment ->add
这里添加的变量和Application.mk中添加的变量值相同,如下图:
由于导入项目后项目的位置已经和原来的发生改变,所以需要修改所有Link Folder目录。首先在eclipse项目中删除Classes、cocos2dx、extensions这三个目录,然后在项目属性C/C++ General -> Paths and Symbols下的Source Location标签中逐一添加Classes、cocos2dx、extensions这三个Link Folder。
Classes:E:\cocos2d-x-2.2.3\samples\Cpp\HelloCpp\Classes
cocos2dx:E:\cocos2d-x-2.2.3\cocos2dx
extensions:E:\cocos2d-x-2.2.3\extensions
(8)修改 Includes (注意) (可以不用)
在项目属性C/C++ General -> Paths and Symbols下的Includes中修改和添加对应的目录。
最后项目右键Run androidApplication这个实例程序就能跑起来了。
到此编译完成。编完后Eclipse会提示寻找你的运行平台(手机或者andriod虚拟机),而且会在proj.android\bin\目录下生成一个apk,完成啦