cocos2d-x在win7下的Android交叉编译环境

2014年4月14日 cocos2d-x环境配置

前面把Visual Studio+Python开发环境配好了,但还没有讲如何在Android中使用创建好的项目,本篇博客介绍如何在win7下进行Android与cocos2d-x的交叉编译,我的电脑是64位,所以下面的配置是基于x86_64下配置的。

下载:Cygwin

Cygwin的主要目的是通过重新编译,将POSIX系统(例如Linux、BSD,以及其他Unix系统)上的软件移植到Windows上。

到http://cygwin.com/install.html这里下载

下载成功,安装Cygwin

到了这个界面都是默认下载的,这里需要特别注意一下,需要把Devel改为install,点一下Default就行了。

Devel包含了make命令,不下载的话在导入Eclipse会编译不了。

经过非常漫长的等待,我只想说一句:艹

好,安装完成后,会在C:\cygwin64有以下文件夹:

下载NDK,这个自己到官网下去:http://developer.android.com/tools/sdk/ndk/index.html

小巫把NDK解压缩到了D:/software目录下,需要是全英文,并且不能留空格。

D:\software\android-ndk-r9d

下面开始介绍如何将Cocos2d-x移植到Android中去,为了弄这个我花了好长时间才把它给弄好,过程有点复杂和繁琐。我现在也还不太清楚是否有更好更方便的移植的方法,如果知道的麻烦告知一下:

首先我们要清楚cygwin是用来干什么的,简单来说就是在cygwin下使用NDK对Android项目进行交叉编译。

不知道交叉编译是啥?

交叉编译,简单来说就是在一个平台上生成另一个平台可执行的代码。我们这里就是把Linux下的代码生成windows下能够执行的代码。不知道解析的对不对,各位保留意见。

配置过程:

一、首先我们来对Cygwin配置

打开C:\cygwin64\home\Administrator下的.bash_profile文件,添加以下内容(已ndk实际路径为准我这里的NDK路径为:D:/software/android-ndk-r9d):

# NDK PATH
NDK=/cygdrive/d/software/android-ndk-r9d
export NDK

这里相当于在Linux下配置环境变量。

如果想打开cygwin时候直接进入你项目所在目录:

打开C:\cygwin64\etc\bash.bashrc,在文件末尾添加以下内容

cd d:/software/cocos2d-x-2.2.3/projects

打开cygwin.bat是就会有以下界面:

进入HelloWorld项目:

再键入./build_native.sh就可以编译我们的Android项目了

我们就可以以这样的方式编译项目了,HelloWorld和Test都是我们使用Python创建的,下面会谈到,希望你能耐心读下去,如果实在不行,看看岛国的爱情动作片,撸一把先。

我们将Cocos2d-x程序移植到Android

需要将:D:\software\cocos2d-x-2.2.3\cocos2dx\platform\android\Java\src的org文件夹复制到我们目标项目的src目录下

是不是每次编译项目的时候都要手动复制呢,我们可以这么做,但有一种方法可以每次编译项目的时候,会自动把org文件夹复制到目标项目的src目录下:

我们在cygwin中执行./build_native.sh的时候发现会自动将与proj.android同一个文件下的Resources下的文件,复制到proj.android的assets目录下。

比如:D:\software\cocos2d-x-2.2.3\samples\Cpp\HelloCpp\proj.android\assets中的文件就是从Resources中复制过来的

这个复制的过程是已经在Cocos2d-x中的脚本写好的,下面我们一步一步来完成这个复制的过程:

1.   打开C:\cygwin64\home\Administrator下的.bash_profile文件,增加路径:

COCOS2DX_DIR=/cygdrive/d/software/cocos2d-x-2.2.3

export COCOS2DX_DIR

2.   打开D:\software\cocos2d-x-2.2.3\template\multi-platform-cpp\proj.android下的build_native.sh

在33行~36行,有这么一个NDK_ROOT的判断:

我们在它下面也定义一个COCOS2DX_DIR的判断:

if [ -z "${COCOS2DX_DIR+aaa}" ];then

echo "please defineCOCOS2DX_DIR"

exit 1

fi

然后在下面输出COCOS2DX_DIR这个目录

echo "COCOS2DX_DIR = $COCOS2DX_DIR"

到这里还没完事,我们还没看到复制Resource下的文件到proj.android下的assets目录是怎么实现的,我们继续往下看,在62~72行有这样的定义:

通过这个定义,我们就很清楚的看到,cocos2d-x是如何把资源复制到assets目录下的。

所以我们同样可以把D:\software\cocos2d-x-2.2.3\cocos2dx\platform\android\java\src的org文件夹复制到我们目标项目的src目录下,我们可以有这样的定义:

for file in"$COCOS2DX_DIR"/cocos2dx/platform/android/java/src/*

do

if [ -d "file" ]; then

cp -rf"$file" "$APP_ANDROID_ROOT"/src

fi

if [ -f "$file" ]; then

cp"$file" "$APP_ANDROID_ROOT"/src

fi

done

好,到现在为止,Cygwin和Cocos2d-x下的配置已经完成,修改脚本的目的也是为了避免重复性工作,把重复性的工作在脚本中定义好,下次编译项目时就可以自动复制到制定目录下。

上面已经讲了,在HelloWorld目录下,proj.android,执行./build_native.sh就可以进行编译了,编译的过程有点慢,需要耐心等待。。。。,又是等,我艹,不好意思,失态了。

等它编译成功后,在Eclipse将编译好的项目导入:

我们把编译好的HelloWorld项目导入到Eclipse中:

路径如下:D:\software\cocos2d-x-2.2.3\projects\HelloWorld\proj.android

导入完成之后:右键项目->Properties

选择Builders,点击New创建

New_Builder,对应填写以下内容

Location: C:\cygwin64\bin\bash.exe

Working Directory: C:\cygwin64\bin

Arguments: --login -c "cd/cygdrive/d/software/android-ndk-r9d && make APP=HelloWorld"

之后还要增加C/C++ Build:

Path: C:\cygwin64\bin

这里的配置基本上都是固定的,每次导入的项目都按照这样配一次,把自己配好的固定步保存下来,下次再配的时候可以直接复制粘帖。


到现在基本上所有配置已经做好了

最终HelloWorld的项目全貌如下图,红框就是我们编译复制过来的东西。



点击运行,如果以上的步骤没有出错的话,就可以看到经典Helloworld了:

以上内容是小巫参考资料所整理的,如有疑问可知悉。

最后说一句,关于Cocos2d-x,我本人才接触没几天,这几天都在搭建这个环境,我本人基本上把整个流程都仔细过了一遍,也了解了一些配置的作用是什么,我希望其他跟我一样学习cocos2d-x的童鞋,自己学会总结。把自己遇到或者不懂的问题也总结出来,不然你搭过一次这样的环境,然后就忘了。我个人觉得一个环境的配置做得那么复杂那真够呛的,我目前还不知道有更加简单的方法,如果有谁知道可以交流一下。

Cocos2d-x在win7下的android交叉编译环境的更多相关文章

  1. 在win8.1 64位系统+cocos2d-x2.2.3下搭建android交叉编译环境

    搭建前须要下载的软件包(默认已搭建好cocos2d-x而且可在VS上执行,本人VS版本号为2013): 1:java 下载地址:http://www.java.com/zh_CN/download/m ...

  2. window7下 cocos2dx android交叉编译环境部署小结

    上周被android交叉编译搞惨了,还好最后弄好了,写个小结以后备用吧. 步骤,1.下载cygwin的devel和shells模块 2. 2.设置环境变量 a.设置NDK_ROOT b.设置Path ...

  3. Windows7 64位系统搭建Cocos2d-x-2.2.1最新版以及Android交叉编译环境(详细教程)

    Windows7 64位系统搭建Cocos2d-x-2.2.1最新版以及Android交叉编译环境(详细教程) 声明:本教程在参考了以下博文,并经过自己的摸索后实际操作得出,本教程系本人原创,由于升级 ...

  4. (转)Windows7 64位系统搭建Cocos2d-x 2.2.1最新版以及Android交叉编译环境(详细教程) .

    声明:本教程在参考了以下博文,并经过自己的摸索后实际操作得出,本教程系本人原创,由于升级后的cocos2d-x有了一些变化,目前的博文还没有关于Cocos2d-x 2.2.1最新版搭建Android交 ...

  5. Windows7 64位系统搭建Cocos2d-x 2.2.1最新版以及Android交叉编译环境(具体教程)

    原文地址:http://blog.csdn.net/sttyytw/article/details/17005263 声明:本教程在參考了下面博文,并经过自己的摸索后实际操作得出,本教程系本人原创,因 ...

  6. mac os 下搭建android开发环境

    mac os 下搭建android开发环境 周银辉 mac os 下搭建android环境比较方便, 如下几个步骤: 1,安装jdk 先搞清楚自己是否已经安装,在命令行下:java -version, ...

  7. mac 下搭建 Android 开发环境

    因工作需要,要在mac 下搭建 Android 开发环境.谷歌.度娘了好久,没有找个一个完整又系统的方法,很是苦恼.最终,皇天不负有心人,找到了下面这篇文档,结合亲身体验,特此记录.也为有这方面需求的 ...

  8. [转载]在Windows下搭建Android开发环境

    http://jingyan.baidu.com/article/bea41d437a41b6b4c51be6c1.html 在Windows下搭建Android开发环境 | 浏览:30780 | 更 ...

  9. cocos2d-x3.0 macOS下配置Android开发环境以及使用cocos2d-console来新建执行project

    下面是子龙山人录制的关于cocos2d-x3.0的视频教程,macOS下配置Android开发环境.使用cocos2d-console来新建执行project.怎样执行cocos2d-x 3.0win ...

随机推荐

  1. Notepad++正则表达式查找替换文本中文字符

    测试需求 测试工具中xml配置文件中注释字段包含中文字符,在Win10系统下使用工具中偶尔会出现中文乱码导致配置文件失效.解决方法将配置文件中的中文注释换成英文注释或者直接替换删除.如何将配置文件中的 ...

  2. iOS 图片圆角性能

    通常设置圆角方式 imageView.clipsToBounds = YES; imageView.layer.cornerRadius = 50; 这样设置会触发离屏渲染,比较消耗性能.比如当一个页 ...

  3. Java实现3次找到假球

    前言 之前老师让写一个程序,就写了写. 正文 题目要求 程序要求 10个铅球中有一个假球(比其他铅球的重量要轻),用天平三次称出假球. 程序设计思路 第一次使用天平分别称5个球,判断轻的一边有假球:拿 ...

  4. Aplayer搭配Metingjs音乐插件的使用

    Aplayer搭配MetingJS音乐插件的使用 1. Aplayer和MetingJ的介绍 Aplayer官网文档:https://aplayer.js.org/#/ Metingjs官网文档:ht ...

  5. 《Java基础复习》-控制执行流程

    最近任务太多了,肝哭我了,boom 参考书目:Thinking in Java <Java基础复习>-控制执行流程 Java使用了C的所有流程控制语句 涉及关键字:if-else.whil ...

  6. web安全学习神器——DVWA安装部署

    前言 DVWA是用PHP+Mysql编写的一套用于常规WEB漏洞教学和检测的WEB脆弱性测试程序.包含了SQL注入.XSS.文件包含等常见的一些安全漏洞.接下来我会用图文的形式讲解一下DVWA的下载与 ...

  7. const不同位置带来的区别

    const不同位置带来的区别 今天同学问我数据结构时,我对以下代码懵了一下: template <class T> class Link{ public: T data; Link< ...

  8. .NET Core项目部署到Linux(Centos7)(六)发布.NET Core 项目到Linux

    目录 1.前言 2.环境和软件的准备 3.创建.NET Core API项目 4.VMware Workstation虚拟机及Centos 7安装 5.Centos 7安装.NET Core环境 6. ...

  9. Shell:Day02.笔记

    重定向和管道符:1.重定向 程序 = 指令 + 数据        命令   变量  在程序中,数据如何输入?有如何输出?  数据输入:键盘 -- 标准输入,但是并不是唯一输入方式:    --std ...

  10. 打开scratch后蓝屏怎么办

    1.试试开机,百出完电脑品牌后,按F8,安全模式,光标选定:最后一次正确配置,回车,回车,按下去,[度关键一步]2.再不行,问进安全模式,回车,到桌面后,用杀毒软件腾讯电脑管家,全盘杀毒,“隔离区”的 ...