天天看点

Cocos移植到Android-使用Eclipse交叉编译打包

如果对命令行望而生畏我们可以借助于安装有adt插件的eclipse工具实现交叉编译。

使用eclipse进行交叉编译首先需要将要编译的工程导入到eclipse的workspace中workspace是多个工程的集合。具体步骤是启动eclipse后选择菜单file→new→project弹出如图21-18所示的新建工程对话框选择android→android project from existing code。

Cocos移植到Android-使用Eclipse交叉编译打包

 新建工程对话框在新建工程对话框中点击next按钮弹出如下图所示的导入工程对话框点击browse按钮弹出后面所示的选择目录对话框注意选择目录是“<游戏工程路径>\proj.android”在这个目录下有创建eclipse的android工程所需要的文件。

Cocos移植到Android-使用Eclipse交叉编译打包

导入工程对话框

Cocos移植到Android-使用Eclipse交叉编译打包

选择目录对话框选择好目录后点击确定按钮关闭对话框回到导入工程对话框如下图所示在root directory已经有内容了。如果没有报错说明选择工程成功了。注意我们不要选中copy projects into workspace选项。选择完成后点击finish按钮。

Cocos移植到Android-使用Eclipse交叉编译打包

选择工程成功然而点击finish后eclipse导入并编译工程编译完成时候会发现有很多错误如下图所示。经过研究不难发现引起这些错误的原因是找不到cocos2d-x在android平台的java类这些类位于<游戏工程路径>\cocos2d\cocos\2d\platform\android\java目录下我们要么把这个目录下的java文件拷贝到当前工程的src目录要么导入cocos2d-x android java类库工程。

Cocos移植到Android-使用Eclipse交叉编译打包

编译错误导入cocos2d-x android java类库工程的操作步骤与前面导入游戏工程是类似的选择的路径是<游戏工程路径>\cocos2d\cocos\2d\platform\android\java。如下图所示是成功导入的libcocos2dx工程。

Cocos移植到Android-使用Eclipse交叉编译打包

成功导入libcocos2dx工程提示 很多读者会问只是导入libcocos2dx工程游戏工程mygame就可以找到需要的java类文件吗这是因为在mygame工程中有一个project.properties文件在这个文件中的android.library.reference.1=../cocos2d/cocos/2d/platform/android/java设置项描述了两个工程之间的依赖关系。

两个工程在eclipse里编译成功并不代表这游戏工程已经进行了交叉编译我们需要执行<游戏工程路径>\proj.android\build_native.py进行交叉编译生成.so文件。执行build_native.py可以通过dos终端进入所在目录build_native.py执行可以在eclipse里双击build_native.py执行执行过程如下图所示。

Cocos移植到Android-使用Eclipse交叉编译打包

执行build_native.py交叉编译如果执行build_native.py交叉编译成功后我们还需要在eclipse中选择mygame工程按f5键刷新工程否则在工程中看不到如下图所示libcocos2dcpp.so文件。

Cocos移植到Android-使用Eclipse交叉编译打包

libcocos2dcpp.so文件

交叉编译成功就可以打包运行了选择mygame工程右键菜单run as → android application然后选择要打包和运行的模拟器或android设备就可以了。

更多内容请关注最新cocos图书《cocos2d-x实战 c++卷》‍

欢迎加入cocos2d-x技术讨论群257760386

《cocos2d-x实战 c++卷》现已上线各大商店均已开售‍

《cocos2d-x实战 c++卷》源码及样章下载地址

欢迎关注智捷ios课堂微信公共平台

Cocos移植到Android-使用Eclipse交叉编译打包