如果对命令行望而生畏,我们可以借助于安装有ADT插件的Eclipse工具实现交叉编译。
使用Eclipse进行交叉编译,首先需要将要编译的工程导入到Eclipse的Workspace中,Workspace是多个工程的集合。具体步骤是启动Eclipse后,选择菜单File→New→Project,弹出如图21-18所示的新建工程对话框,选择Android→Android Project from Existing Code。

 新建工程对话框

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

导入工程对话框
选择目录对话框

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

选择工程成功

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

编译错误

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

成功导入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执行,执行过程如下图所示。

执行build_native.py交叉编译

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

libcocos2dcpp.so文件

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

更多内容请关注最新Cocos图书《Cocos2d-x实战 C++卷》

本书交流讨论网站:http://www.cocoagame.net

更多精彩视频课程请关注智捷课堂Cocos课程:http://v.51work6.com
欢迎加入Cocos2d-x技术讨论群:257760386

《Cocos2d-x实战 C++卷》现已上线,各大商店均已开售:

京东:http://item.jd.com/11584534.html

亚马逊:http://www.amazon.cn/Cocos2d-x%E5%AE%9E%E6%88%98-C-%E5%8D%B7-%E5%85%B3%E4%B8%9C%E5%8D%87/dp/B00PTYWTLU

当当:http://product.dangdang.com/23606265.html

互动出版网:http://product.china-pub.com/3770734

《Cocos2d-x实战 C++卷》源码及样章下载地址:

源码下载地址:http://51work6.com/forum.php?mod=viewthread&tid=1155&extra=page%3D1

样章下载地址:http://51work6.com/forum.php?mod=viewthread&tid=1157&extra=page%3D1

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

Cocos移植到Android-使用Eclipse交叉编译打包的更多相关文章

  1. Cocos移植到Android的一些问题-中文乱码问题

    Android平台版本和设备碎片化很严重,因此从Win32平台移植到Android平台会有很多问题,下面是我们归纳的从Win32平台移植到Android平台遇到的一些问题.在Android平台中文乱码 ...

  2. Cocos移植到Android的一些问题-SQLite3数据库移植问题

    首选我们讨论一下SQLite3数据库移植问题.我们在第14章节介绍了在Win32平台使用SQLite3数据库,我们介绍了两种配置环境的方法:一种是使用Cocos2d-x提供的SQLite3库配置,另一 ...

  3. android在eclipse中打包(签名包)方法及常见问题解决

    打包成apk 右键单击项目名称,选择"Android Tools".再选择"Export Signed Application Package-",例如以下图所 ...

  4. Cocos移植到Android-通过命令行交叉编译打包

    当我们在Windows下使用Visual Studio开发好Win32平台的游戏程序后,我们需要把它们移植到不同的平台上.Cocos2d-x支持很多个平台,然而,我们不可能介绍全部平台的移植.我们总结 ...

  5. cocos2dx 3.1.1移植安卓apk (lua项目交叉编译 mac环境下)

    cocos2dx 3.1.1 lua项目安卓交叉编译 mac环境下 本文基于ant,sdk,ndk,adt等软件和环境已经事前设置好 1\新建项目 在mac的终端下输入命令: cocos new te ...

  6. Windows下将ImageMagick移植到Android平台

    Windows下将ImageMagick移植到Android平台 原文链接  http://www.pedant.cn/2014/06/18/imagemagick-ported-android/ I ...

  7. cocos2d-x 3.0游戏实例学习笔记 《跑酷》移植到android手机

    说明:这里是借鉴:晓风残月前辈的博客.他是将泰然网的跑酷教程.用cocos2d-x 2.X 版本号重写的,眼下我正在学习cocos2d-X3.0 于是就用cocos2d-X 3.0重写,并做相关笔记 ...

  8. cocos2d-x 3.2 移植到android

    前人栽树,后人乘凉,这句话有点过了,只是想感谢一下为了移植cocos2d-x到android的"大婶"们所做出的贡献.          首先android环境需要配置好,需要的文 ...

  9. 将Unity3D游戏移植到Android平台上

    将Unity3D游戏移植到Android平台是一件很容易的事情,只需要在File->Build Settings中选择Android平台,然后点击Switch Platform并Build出ap ...

随机推荐

  1. Unity3D - 关于Dynamic和Static

    含有Collider和RigidBody的GameObject, Unity视之为Dynamic 含有Collider的GameObject, Unity视之为Static 如果Static的物体发生 ...

  2. C++转义字符 &amp; keyword

    转义字符: 换行符 \n   水平制表符\t 纵向制表符 \v 退格符 \b 回车符 \r   进纸符 \f 报警(响铃)符 \a 反斜线 \\ 疑问号 \? 单引號 \' 双引號 \"   ...

  3. PI-webservice06-调用外部webservice过程中注意问题

    1,SAP与.NET系统之间通过webservice来进行数据交互的过程中,格式是有要求的,要求.NET发布出来的webservice中的数据是用list来进行传输的,不能用datatable和lis ...

  4. HDU 4586 A - Play the Dice 找规律

    A - Play the DiceTime Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acm.hust.edu.cn/vjudge/contest/ ...

  5. 在Web上调用Ocx控件

    原文:http://blog.csdn.net/goodadult2012/article/details/6343369 在HTML页面中使用ActiveX控件包含三个基本操作:将控件放入HTML中 ...

  6. [原]生产环境下的nginx.conf配置文件(多虚拟主机)

    [原]生产环境下的nginx.conf配置文件(多虚拟主机) 2013-12-27阅读110 评论0 我的生产环境下的nginx.conf配置文件,做了虚拟主机设置的,大家可以根据需求更改,下载即可在 ...

  7. [AngularJS] Html ngSanitize, $sce

    Safely render arbitrary HTML snippets by using ngSanitize and $sce. By default angularJS consider us ...

  8. 使用 T4 文本模板生成设计时代码

      使用设计时 T4 文本模板,您可以在 Visual Studio 项目中生成程序代码和其他文件. 通常,您编写一些模板,以便它们根据来自模型的数据来改变所生成的代码. 模型是包含有关应用程序要求的 ...

  9. 关于dispatchTouchEvent, onInterceptTouchEvent, onTouchEvent的分发机制浅析

    虽说这个问题不是很难...动动手就能看出答案...但是似乎不太容易理解...几次尝试把这个问题说明白....但是好像感觉说不明白....(顿时想起了那句话----说不明白就是自己还不明白! 我怎么可能 ...

  10. 新一代 PHP 加速插件 Zend Opcache

    参考:http://www.laogui.com/Zend-Opcache 大家知道目前PHP的缓存插件一般有三个:APC.eAccelerator.XCache,但未来它们可能都会消失,因为PHP ...