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. ubuntu14.10设置开机启动服务

    1.比如lampp其他的都类似: 我是这么操作:(屌丝初学者) a.把lampp启动程序放到/etc/bin下面 b.vi /etc/rc.local ,加入lampp start(有了第一步就可以这 ...

  2. FloatingActionButton增强版,一个按钮跳出多个按钮--第三方开源--FloatingActionButton

      FloatingActionButton项目在github上的主页:https://github.com/futuresimple/android-floating-action-button F ...

  3. Socket通信(转)

    一.Socket通信简介 Android与服务器的通信方式主要有两种,一是Http通信,一是Socket通信.两者的最大差异在于,http连接使用的是“请求—响应方式”,即在请求时建立连接通道,当客户 ...

  4. PHP 多线程扩展(正儿八经的线程)pthreads安装

    环境CentOS 6.3 64bit,php 5.4.5 pthreads需要线程安全环境, 下载php的安装包,解压: tar zxvf php-5.4.5.tar.gz//名字是不是这个我不确定, ...

  5. C++中的容器类详解

    一.STL容器类 STL(Standard Template Library)的六大组件:容器(containers).迭代器(iterators).空间配置器(allocator).配接器(adap ...

  6. namenode 无法启动之每次开机需要重新格式化-tmp

    最近遇到了一个问题,执行start-all.sh的时候发现JPS一下namenode没有启动        每次开机都得重新格式化一下namenode才可以        其实问题就出在tmp文件,默 ...

  7. JEvaluator Jscript.net

    using Microsoft.JScript; using System; using System.CodeDom.Compiler; using System.Collections.Gener ...

  8. load get selectone 或者selectlist 以及hql查询语句不用提交事务

    提交事务是么有必要的 而且有时候subselect batchsize 会失效

  9. 补码复习的好例子---Int范围的科学解释

    Int范围的科学解释 这得从二进制的原码说起: 如果以最高位为符号位,二进制原码最大为0111111111111111=2的15次方减1=32767 最小为1111111111111111=-2的15 ...

  10. numpy中的broadcast

    关于broadcast,官方文档描述如下: Each universal function takes array inputs and produces array outputs by perfo ...