1.所需环境支持:Android SDK、NDK、Eclipse、Cygwin。(本人所用系统WIN7-64位)

(1)Cygwin的下载安装:

  Cygwin是Windows下的Linux模拟环境,用于运行Android所需的编译工具。

  下载页面http://cygwin.com/install.html,本人下载的是(http://cygwin.com/setup-x86_64.exe)

运行下载后的setup.exe->选择下载源(install from internet)->选择安装目录->选择本地包目录(Cygwin下载的目录)->选择网络连接(use IE Proxy Settings)->选择下载站点(国内的应该会快一点)->选择需要安装的Cygwin组件(点开“Devel”分支,选择binutils,gcc-core,gcc-g++,mingw-gcc-core,mingw-gcc-g++,gdb,make)

安装成功后,运行Cygwin。分别输入gcc - v、g++ --version、make -v、gdb -v等命令并回车,如果显示版本信息,则说明安装成功。

(2)安装Android NDK:

  对于Eclipse和Android SDK的安装,可以直接下载整合SDK的Eclipse(http://developer.android.com/sdk/index.html),不赘述。

在Android NDK的网站中( http://developer.android.com/tools/sdk/ndk/index.html)可以下载最新版本的NDK压缩包,下载并解压到合适的位置,以便后面使用。

ps:由于本人的cocos2d-x使用的是2.1版本,下载最新的android-ndk-r9-windows-x86_64,编译时居然出错了,所以低版本的亲,建议可以下载NDK的旧版本。

google提供的下载路径:http://dl.google.com/android/ndk/android-ndk-r8b-windows.zip(地址后面换上你想要的版本,比如说../android-ndk-r7c-windows.zip)

(3)编辑creat-android-project脚本,.bash_profile脚本:

特殊说明:请尽量不要用window里的记事本或者写字本打开修改,因为在window下和linux中回车符是不相同的。(sublime_text-一款不错的编辑器)

A.在cocos2d-x根目录下,找到“create-android-project.bat”脚本,设置相应路径后保存。

  运行“create-android-project.bat”脚本:在Cygwin中进入cocos2d-x根目录,执行“./create-android-project.bat”,运行成功将看到“Please enter your package path. For example: org.cocos2dx.example:”,表示运行成功。

  B.修改“.bash_profile”脚本,在Cygwin/home/用户名 目录下,找到“.bash_profile”文件,添加NDK的路径。如下图:

(4)创建简单的android项目:

  运行“create-android-project.bat”脚本,运行后看到“Please enter your package path. For example: org.cocos2dx.example:”此时输入想要创建的程序包名,注意命名规范,比如说org.cocos2dx.helloAndroid。回车后,会提示输入项目文件夹名->选择android版本,最后在cocos2d-x文件夹下生成该Android项目。

(5)执行“build_native.sh”

  执行“build_native.sh”来编译游戏,在Cygwin中进入该Android项目路径下,输入./build_native.sh执行脚本。如果一切顺利,就可以在项目bin目录中看到编译获得的libgame.so文件了。

(6)导入Eclipse中

  打开Eclipse,依次打开“File”->“New”->“Project...”菜单项,在弹出窗口中选择“Android”->“Android Project from Exiting Code”项目,在弹出窗口中并选择刚才创建的Android项目中的“proj.android"目录,确认后Eclipse便能编译此项目。

(7)org.cocos2dx.lib包的创建

由于导入生成的项目里面没有org.cocos2dx.lib包,在Eclipse中该项目会标上红叉,所以需要我们手动在项目里面建一个该包。在该项目的src新建一个org.cocos2dx.lib的包,再找到cocos2dx的org目录:\cocos2d-2.1rc0-x-2.1.3\cocos2dx\platform\android\java\src\org\cocos2dx\lib,将所有java文件copy到新建的org.cocos2dx.lib的包中,项目ReFresh后可以看到问题已经解决了。

(8)启动调试,便能看到该项目在android移动设备上跑了~~good luck!

Cocos2d-x游戏移植到Android平台的更多相关文章

  1. Cocos2dx开发游戏移植到Android平台

    第一步:安装配置安卓SDK,下载NDK并解压,下载cygwin并安装 第二步:导入platform文件夹下,android文件夹下java文件夹 在eclispe的windows--pereferen ...

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

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

  3. 基于Cocos2d-x-1.0.1的飞机大战游戏迁移到Cocos2d-x-3.0版本,并移植到Android平台成功运行

    一.版本迁移中的问题 1.游戏元素Sprite.Label.Action等等的创建函数名都改为create. 2.函数的回调callfunc_selectorcallfuncN_selectorcal ...

  4. J2ME项目移植到Android平台六大注意事项

    很多J2ME项目如何移植到Android平台呢?Java虽然号称是跨平台应用但是目前的移植问题还是比较严重的,不知道未来Sun推出JavaFx或F3时会出现什么问题,如何从J2ME移植到Android ...

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

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

  6. Unity3D之移植学习笔记:移植到Android平台更好的方法

    接上文,之前我们采用了直接将Unity项目导出为Eclipse项目来修改的方式,这种做法存在的一个最大的问题就是:每当Unity被修改之后,都需要重新导出,而每次导出的项目在Android平台方面的J ...

  7. Unity3D之移植学习笔记:移植到Android平台

    首先,我们需要一台已经配置好可以开发Android应用的计算机,这里我使用的是Windows系统+Eclipse+ADT的开发环境,当然也可以使用Android Studio或者使用Mac系统都可以. ...

  8. 将 FFmpeg 移植到 Android平台 (完整版)

    首先需要去FFmpeg的官网http://www.ffmpeg.org/去下载FFmpeg的源码,目前的版本号为FFmpeg3.3(Hilbert). 下载的文件为压缩包,解压后得到ffmpeg-3. ...

  9. FFmpeg 学习(三):将 FFmpeg 移植到 Android平台

    首先需要去FFmpeg的官网http://www.ffmpeg.org/去下载FFmpeg的源码,目前的版本号为FFmpeg3.3(Hilbert). 下载的文件为压缩包,解压后得到ffmpeg-3. ...

随机推荐

  1. ruby开源项目之Octopress:像黑客一样写博客(zhuan)

    ruby开源项目之Octopress:像黑客一样写博客 百度权重查询 词库网 网站监控 服务器监控 SEO监控 Swift编程语言教程 今年一直推荐的一种写作方式.markdown语法快速成文,git ...

  2. Android 浮动搜索框 searchable 使用(转)。

    Android为程序的搜索功能提供了统一的搜索接口,search dialog和search widget,这里介绍search dialog使用.search dialog 只能为于activity ...

  3. redis sort

    redis sort命令用法 1.命令描述返回或保存给定列表.集合.有序集合key中经过排序的元素.排序默认以数字作为对象,值被解释为双精度浮点数,然后进行比较. 2.一般sort用法最简单的sort ...

  4. 实现js中的重载

    重载是面向对象语言里很重要的一个特性,JS中没有真正的重载,是模拟出来的(因为js是基于对象的编程语言,不是纯面向对象的,它没有真正的多态:如继承.重载.重写) 一.什么时候用重载? 举例: func ...

  5. Zabbix页面遇到历史记录的乱码需要修改数据库

    Zabbix页面遇到历史记录的乱码需要修改数据库: 解决办法: 1.将 zabbix 数据库中的表备份: 2.手动删除 zabbix 数据库: 3.重新创建 zabbix 库时手动指定字符集为 utf ...

  6. cmd打开控制面板及其他命令

    如果你在权限较小的域用户的机器上,要做一些管理操作,就不可避免的要使用cmd打开一些以前只能在图形界面里打开的程序.下面是我收集的一些常用操作. 以某个身份启动程序:runas /user:it\n1 ...

  7. DB2配置信息查看及其更新命令

    获取DB2配置信息 db2 get dbm cfg 更新DB2链接配置信息 db2 update dbm cfg using authentication server db2stop db2star ...

  8. Asp.net项目因Session阻塞导致页面打开速度变慢

    发现罪魁祸首是Session阻塞造成的.默认情况下session状态是“可写状态”(EnableSessionState=”true”),即当用户打开任何一个页面时,该页面的Session就会持有一个 ...

  9. java基础之 异常

    Throwable是所有Java程序中错误处理的父类,有两种资类:Error和Exception. Error:表示由JVM所侦测到的无法预期的错误,由于这是属于JVM层次的严重错误,导致JVM无法继 ...

  10. IOS开发中--点击imageView上的Button没有任何反应

    点击imageView上的Button没有任何反应:    解决方法:设置图片的userInteractionEnabled为YES,使该imageView可以与用户进行交互