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. CentOS hadoop配置错误Incorrect configuration: namenode address dfs.namenode.servicerpc-address ...

    # ./sbin/start-all.sh                     This script is Deprecated. Instead use start-dfs.sh and st ...

  2. eclipse常用10个快捷键[转载]

    转载自:http://www.jb51.net/softjc/139467.html

  3. 简单模拟QQ界面框架。

    package com.lixu.qqjiemian; import java.util.Timer; import java.util.TimerTask; import android.app.A ...

  4. redis sort

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

  5. POJ 3525 半平面交+二分

    二分所能形成圆的最大距离,然后将每一条边都向内推进这个距离,最后所有边组合在一起判断时候存在内部点 #include <cstdio> #include <cstring> # ...

  6. Spring AOP中pointcut expression表达式解析 及匹配多个条件

    Spring中事务控制相关配置: <bean id="txManager" class="org.springframework.jdbc.datasource.D ...

  7. UML学习入门就这一篇文章

    1.1 UML基础知识扫盲 UML这三个字母的全称是Unified Modeling Language,直接翻译就是统一建模语言,简单地说就是一种有特殊用途的语言. 你可能会问:这明明是一种图形,为什 ...

  8. webview上传图片

    import java.io.File; import android.annotation.SuppressLint;import android.app.Activity;import andro ...

  9. MySQL数据库远程连接

    12.00 MySQL数据库远程连接 参考: http://www.jb51.net/article/24508.htm http://www.linuxdiyf.com/viewarticle.ph ...

  10. 跨域请求之jQuery的ajax jsonp的使用解惑

    前天在项目中写的一个ajax jsonp的使用,出现了问题:可以成功获得请求结果,但没有执行success方法,直接执行了error方法提示错误——ajax jsonp之前并没有用过,对其的理解为跟普 ...