1、Android环境搭配:

NDK是一系列工具的集合。NDK提供了一系列的工具,帮助开发者快速开发C(或C++)的动态库,并能自动将so和java应用一起打包成apk。

3、安装cygwin:

因为NDK编译代码时必要用到make和gcc,所以你必须先搭建一个linux景象, cygwin是一个在windows平台上运行的unix模仿景象,它对于进修unix/linux操纵景象,或者从unix到windows的应用法度移植,很是有效。经由它,你就可以在不安装linux的景象下应用NDK来编译C、C++代码了

安装详解:

你得先跑到http://www.cygwin.com下载setup.exe

第一步:运行setup程序,第一步图略,直接点击Next进入下一步。

第二步:选择安装方式,第一次可以采用Direct Connection在线下载安装,如有现成的离线包,可以选择离线安装(Install from Local Directory)。

第三步:选择安装目录,比如C:\Cygwin,注意此目录是指Cygwin最终的安装目录,不是下载文件暂存目录。

第四步:设置本地包暂存路径暂存目录默认是放到setup.exe的同级目录下,下载后名字类似ftp%3a%2f%2fcygwin.mirrors.pair.com%2f这样格式


第五步:设置网络连接方式

第六步:选择下载站点地址

起初尝试几个看哪个速度快就用哪个地址(如果感觉不快就点取消,再次来过)。http://mirrors.kernel.org,速度感觉还挺快

第七步:等待加载安装项载入,选择安装项
我们编译NDK,在默认设置下,只需选择Devel(点击列表中Devel,将后面的Default改为Install,图中箭头所示),其它均为默认状态。



第八步:等待下载完成
下载完成时间决定于你选择的安装包数量及网络连接速度,比如按照本文默认的选择方式,可能需要4-5个小时,下载后压缩包约950M,下载完成后会自动安装到上文设置的安装目录

提醒:第一次下载完成后,最好把下载的包目录做个备份,下次安装同样的环境可以直接使用离线安装方式(第二步中选择本地安装)。

第九步:验证Cygwin环境
安装完成后,先运行Cygwin一次(Cygwin.bat),以便创建一些用户环境文件,分别输入:
make -v
和,
gcc -v
如果检测成功,会有make和gcc相关版本信息打印出来。如下图:

接下来是修改在安装cygwin目录下,如本人安装目录如下C:\cygwin64,然后用编辑器点开.bash_profile(在home文件夹下:C:\cygwin64\home\john chen),然后在最下面加上ndk路径以及cocos2dx路径:

#创建NDK的路径,在windows中我的路径为:E:/Cocos2D/android/android-ndk-r9c
NDK_ROOT=/cygdrive/e/Cocos2D/android/android-ndk-r9c
#添加到PATH环境变量中
export NDK_ROOT

#创建cocos2d-x的路径,在windows中我的路径为:E:/Cocos2D/cocos2d-x-2.2.2
COCOS2DX_ROOT=/cygdrive/e/Cocos2D/cocos2d-x-2.2.2
#添加到PATH环境变量中
export COCOS2DX_ROOT


重启cygwin,输入:$ cd $NDK_ROOT,可进入ndk对应目录就说明设置OK,如下图:


在系统变量path后面添加内容:
D:\cygwin64\bin;

4、创建Cocos2d-x项目:

以创建HelloWorld项目为例子,执行create_project.py脚本,进入Doc界面输入下面的命令:

(1)E:   (切换盘符,因为我的Cocos2d-x源码在E盘,create_project.py在该目录下。)

(2)cd E:\Cocos2D\cocos2d-x-2.2.2\tools\project-creator   (进入到create_project.py脚本所在目录)

(3)下载python,下载地址:http://www.python.org/getit/releases/2.7/

(4)运行cmd命令,用python生成HelloWorld项目,命令为:

python create_project.py -project HelloWorld -package com.cocos2dx.org -language cpp   (其中HelloWorld为工程名称,com.cocos2dx.org为我为android版本取的包标识名,记住包标示名不要出现特殊符号如"-",不然导入到eclipse是将会出现错误。)

从上图可以看出运行该pyhton脚本,会生成针对ios、android、win32、mac、linux等各种平台的项目。

运行之后,会在相应的E:\Cocos2D\cocos2d-x-2.2.2\projects目录下找到刚建立的HelloWorld工程,其目录结构如下图:


5、编译Cocos2d-x项目:
1)将proj.win32里面的.h以及.cpp文件拷贝到Classes中(如果以后修改那些.cpp文件或.h文件需要继续从proj.win32拷贝到Classes中覆盖掉之前的文件再生成新的android工程)

2)进入proj.android,用编辑器修改build_native.sh文件
在 # options下面加入,如下:
NDK_ROOT=/cygdrive/e/Cocos2D/android/android-ndk-r9c
COCOS2DX_ROOT=/cygdrive/e/Cocos2D/cocos2d-x-2.2.2
GAME_ROOT=$COCOS2DX_ROOT/projects/HelloWorld
GAME_ANDROID_ROOT=$GAME_ROOT/proj.android
RESOURCE_ROOT=$GAME_ROOT/Resources


3)进去proj.android\jni下面修改Android.mk,
将所有.cpp的路径都添加进去即可,如本人增加了下面那些路径

4)用cygwin编译
好了 修改完这些保证没错误之后,打开cygwin:
a、进入下载的Cocox2d-x目录执行下面代码:
$ cd $COCOS2DX_ROOT
$ chmod -R 755 *

说明:上述操作是为了提早消除由于权限引发的潜在问题,如果不做后面可能会遇到权限问题。此步骤执行后,后续再编译就可以跳过,或后续再出现权限问题可再次执行。

b、a操作执行完后进入项目Android版目录projects/HelloWorld/proj.android
执行./build_native.sh
到最后./build_native.sh执行之后没错误的话,它就会生产android项目了(成功的判断是看他是否生产.so文件),路径如下:

5)在eclipse上运行的android工程,导入projects/HelloWorld/proj.android这个就可以在eclipse上看到该工程了

项目加载进来后会提示缺少cocos2dx包,我们去cocos2d-x-2.2.2/cocos2dx/pathform/android/java/scr/
把org文件拷到我们项目HelloWorld/proj.android/src/下,刷新下我们的项目,好了没问题了,可以编译了
成功运行后会在bin/生成一个apk文件
如果需要把项目在真机上弄成竖屏,只需在AndroidManifest.xml中改一改, android:screenOrientation="landscape"(横屏),android:screenOrientation="portrait"(竖屏),它默认为横屏。


Cocos2d-x编译Android环境的更多相关文章

  1. 编译Android 4.4源代码并烧录到Nexus4

    环境准备: 基本环境:ubuntu-12.04-desktop-64bit(裸机或者Windows下虚拟机安装均可,14.04也可以) 其他要求:空闲磁盘空间100G以上,代码部分接近10G,内存越大 ...

  2. cocos2dx - android环境配置及编译

    接上一节内容:cocos2dx - 伤害实现 本节主要讲Android环境配置及编译 在第一节中setup.py的配置里,我们没有配置对应的ndk,sdk,ant的路径,在这里需要先配置好环境变量. ...

  3. Android 环境下编译FFmpeg

    Android 环境下编译FFmpeg 开发环境:Ubuntu 12.04.2 LTS , android-sdk-linux, android-ndk-r8e 一 .X264 编译 1.    X2 ...

  4. 【转】高通平台android 环境配置编译及开发经验总结

    原文网址:http://blog.csdn.net/dongwuming/article/details/12784535 1.高通平台android开发总结 1.1 搭建高通平台环境开发环境 在高通 ...

  5. 【FAQ】Ubuntu环境下ant编译android代码问题

    在Ubuntu14.04环境下,编译android程序时候,运行ant debug的时候出现如下异常:

  6. 在高通平台Android环境下编译内核模块【转】

    本文转载自:http://blog.xeonxu.info/blog/2012/12/04/zai-gao-tong-ping-tai-androidhuan-jing-xia-bian-yi-nei ...

  7. linux环境下编译Android apk

    Android源码目录下的build/envsetup.sh文件,描述编译的命令 - m:       Makes from the top of the tree. - mm:      Build ...

  8. cocos2d-x Android 环境搭建问题汇总

    初次接触Cocos2d-x,准备搭建一个hello world的Android环境,问题遇到很多.在此记录,为自己,也为大家,避免重走弯路! 具体的环境搭建,可以参考官方的文档.在Windows7平台 ...

  9. Ubuntu14.04LTS下使用eclipse搭建Cocos2d-x的Android环境

    from://http://www.58player.com/blog-2534-94136.html 最近想玩玩游戏制作,于是选择了目前流行的游戏引擎Cocos2d-x,这个东西虽然有Android ...

随机推荐

  1. 三个层面学playbook(核心)

    三个层面学playbook(核心) ansible-playbook是ansible工具中的核心,对比ad-hoc(ansible)命令,可以把playbook理解为一系列动作的组成,结果传递.判断等 ...

  2. React Components之间的通信方式了解下

    先来几个术语: 官方 我的说法 对应代码 React element React元素 let element=<span>A爆了</span> Component 组件 cla ...

  3. bootstrap不兼容ie8如何解决

    说起bootstrap大家一定都不陌生,可以说是目前最受欢迎的前端框架,简洁.直观.强悍.移动设备优先的前端开发框架,让web开发更迅速.简单. 但是在实际运用中也会遇到各种各样的问题,比如最近项目中 ...

  4. Java权限管理(授权与认证)

    CRM权限管理 有兴趣的同学也可以阅读我最近分享的:Shiro框架原理分析   (PS : 这篇博客里面介绍了使用Shiro框架的方式实现权限管理) https://www.cnblogs.com/y ...

  5. http请求体笔记

    一.请求体数据格式 1.application/json:json格式 2.text/plain:纯文本格式 3.application/x-www-form-urlencoded:url编码后产生的 ...

  6. js 技巧 (十)广告JS代码效果大全 【3】

    3.[允许关闭]     与前面两个代码不同的是,广告图下方增加了一个图片按纽,允许访客点击关闭广告图片,下面文本框中就是实现效果所需代码: var delta=0.015;     var coll ...

  7. 性能测试培训day1

    测试本质: 1构造测试数据和期望结果 2执行 3验证 自动化测试: 写完代码,单元测试测代码逻辑,单元测试搞清楚代码逻辑就行了(白盒测试)先静态,运行前用工具扫描BUG例如(a==11写成a=11), ...

  8. JQuery_九大选择器

    JQuery_九大选择器-----https://blog.csdn.net/pseudonym_/article/details/76093261

  9. hihoCoder #1162 : 骨牌覆盖问题·三

    #1162 : 骨牌覆盖问题·三 Time Limit:10000ms Case Time Limit:1000ms Memory Limit:256MB 描述 前两周里,我们讲解了2xN,3xN骨牌 ...

  10. MVC系统学习8——AsyncController

    关于为什么使用异步Controller,这里不做备忘,三岁小孩都懂.主要的备忘是如何使用AsyncController. //这个action以Async结尾,并且返回值是void public vo ...