第一步:开始安装VS2012 

第二步:下载Cocos2d-x 3.4源码 

配置环境变量

COCOS_CONTROL = E:\cocos2d-x-3.4\tools\cocos2d-console\bin

然后添加到path里 %COCOS_CONTROL %

COCOS_CONTROL 这个可以随便起名,没什么影响

验证是否成功

谜团1:这个环境变量有什么用呢? 

->后续当我们使用命令cocos new helloworld -p com.gzy -l cpp -d e:/mygame 的时候

根据这个环境变量找到对应的py脚本创建工程

第三步:安装Python 

在创建Cocos2d-x程序时用到Python指令,在cocos2d-x-2.2.1/tools/project-creator/下有个脚本:create_project.py

ps:不要下载最新Python

Python3.3版本是不兼容Cocos2d-x 2.2.1创建项目的

在系统变量path后面添加内容:

python = D:\Python27

验证是否配置成功

谜团2:这个环境变量有什么用呢? 

要执行cocos.py文件当然要安装Python)。

第四步:下载apache-ant-1.8.2 

配置环境变量

同上


第五步:安装Java SDK 

注意sdk版本要和系统对应,64位会安装到Program Files里面,32位的安装到Program Files (x86)里面

别的没啥好说的了。


第六步:安装最新的 Android ADT bundle 

Android ADT bundle

ADT:Android Development Tools 安卓开发工具,ecplise 里的插件,安卓开发工具插件

Android ADT bundle里已经包含有了adt和与其兼容的ecplise软件

android sdk可以理解为是一个Android开发的工具,实际上它是作为eclipse的一个插件,有了它,就可以在eclipse里开发Android程序了

下载路径开篇已经给出

解压完是一下这几个东东

eclipse就是对应的安卓开发环境

打开SDKmanager

下载对应的api

我的版本是4.3

打开eclipse文件夹

这幅图先记着,等会就知道干嘛的了

第七步:安装Android NDK 

说明:

NDK是一系列工具的集合。NDK提供了一系列的工具,帮助开发者快速开发C(或C++)的动态库,并能自动将.so和Java应用一起打包成apk。这些工具是对开发者的帮助巨大的。 NDK集成了交叉编译器,并提供了相应的mk文件隔离平台、CPU、API等差异,开发人员只需要简单修改mk文件(指出“哪些文件需要编译”、“编译特性要求”等),就可以创建出.so。NDK可以自动地将.so和Java应用一起打包,极大地减轻了开发人员的打包工作。NDK提供了一份稳定、功能有限的API头文件声明。Google明确声明该API是稳定的,在后续所有版本中都稳定支持当前发布的API。从该版本的NDK中看出,这些API支持的功能非常有限,包含有:C标准库(libc)、标准数学库(libm)、压缩库(libz)、Log库(liblog)

配置环境变量

ANDROID_SDK_ROOT=D:\android\sdk

NDK_ROOT=D:\android\android-ndk-r10b

注意:这个环境变量比较特殊,

谜团3:为何特殊?


第八步:安装cygwin 

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

重要:

说白了我们就是要用cygwin-build命令来构建C++代码,并连接成一个.so静态目标文件,然后再通过第六步安装的安卓开发工具将cocos发布好的Android工程导入,构建出apk即可,

如果你现在不理解,后续我会详细图文并茂地给你讲解,快谢谢哥~!!

安装详解:

你得先跑到这里下载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,图中箭头所示),其它均为默认状态。

我是选择的全部install了

由于我是选择的本地安装所以不用去下载了,很快就搞定了

检验是否安装成功

分别查看一下这两个编译器的版本即可,如果出现上图所示,恭喜你,安装成功了

接下来我们要学习怎么配置变量并使之生效,由于这个是仿真linux环境下的工具,其使用的shell是bash

bash如何配置变量 这个应该不难,

接下来打开目录:D:\cygwin\etc下的profile文件,我用的是nodepad++, 这个profile是系统级别的配置文件,还有一个在D:\cygwin\home里面的,这个是用户级别的,类似windows的环境变量设置

打开文件之后在最后面添加

NDK_ROOT=/cygdrive/d/android/android-ndk-r10b

ANDROID_SDK=/cygdrive/d/android/android-sdk-windows

COCOS2DX_ROOT=/cygdrive/e/cocos2d-x-3.4

export NDK_ROOT

export ANDROID_SDK

export COCOS2DX_ROOT

如何使之生效,并验证

首先进入profile目录

谜团4:配置这个要作甚,为什么要用NDK_ROOT这个名字

后面我后说

到现在为止,所有的配置工作都完了,开工

第九步:编译Cocos2d-x 3.4项目 

打开cmd->cocos new HelloWorld -l cpp -p com.gzy -d e:/myproject

出现如下说明项目创建成功

接下来用vs2012打开E:\MyProject\HelloWorld\proj.win32下的HelloWorld.sln->生成解决方案

等个把分钟运行就可以看到helloworld 了,我就不上图了。


第十步:发布apk 

历经九九八十一难终于要见到佛祖了,心情很是激动,接下来一个最大的谜团

谜团5: 如何生成apk 

其实发布apk的过程可以这么理解

Cocos官方在我们新建的项目中会自动生成各个平台的版本项目,比如Mac, Android ,Win 等,正如我们要构建安卓版本的,那么就要用到这个工程E:\MyProject\HelloWorld\proj.android

转换的过程如下

.cpp–(1)—>.so–(2)—>.apk

第一个环节就是编译,第二环节是打包

第一种方式:cygwin命令行方式(只能编译)

给予上面的配置,我们选择了使用cygwin的ndk-build调用make,gcc进行编译,

具体操作:打开cygwin,进入E:\MyProject\HelloWorld\proj.android项目,输入ndk-build 即可

当然还有个要注意,你要编译那些.cpp呢???

都在这里E:\MyProject\HelloWorld\Classes, 如果你工程新建的.cpp有没在这里的 都要考进来,还没完

还要修改一个文件android.mk,在这里—>E:\MyProject\HelloWorld\proj.android\jni

所有的.cpp都要加进去

第二种方式:使用安卓开发工具ADT(完成编译和打包)

这种方式是利用cocos自带的Python脚本编译的

打开build_native.py 看看你会发现这些东西

现在明白谜团4的用意了把,要一一对应上才可以顺利编译通过

这个脚本是这个版本提供给我们的便利,但是当我看到最后一句话有点儿莫名的忧伤

print “We will remove this script next version,you should use cocos console to build android project.\n”

看来下个版本就不能用这中方式进行编译了。

打包apk

使用ADT导入安卓项目

file->import->android->….进入E:\MyProject\HelloWorld\proj.android 确定

然后会提示你有地方报错

项目加载进来后会提示缺少Cocos2d-x包,我们去cocos2d-x-3.4/cocos2dx/pathform/android/java/scr/

把org文件拷到我们项目helloworld/proj.android/src/下

刷新编译执行 ,ok

成功运行后会在bin/生成一个apk文件

如果需要把项目在真机上弄成竖屏,只需在AndroidManifest.xml中改一改, android:screenOrientation=”landscape”(横屏),android:screenOrientation=”portrait”(竖屏),它默认为横屏

常见错误解决办法 

运行程序时黑屏或者崩溃的现象

code =1 fault addr 0x0 这个错误一般是C++代码中存在nullptr了,要仔细检查并做空指针判断,例如,你加载图片返回的sprite* p 如果图片名字写错了就回返回nullptr,这时候你不去做空指针判断就会 出现上述的问题。

当code != 1 并且错误地址变来变去 这个暂时还不知道神马原因。

cocos基础教程(2)Window环境下搭建的更多相关文章

  1. cocos基础教程(2)Window环境下搭建(补充)

    一.环境搭建 1.JDK.Eclipse与SDK 我用的JDK是1.7 Eclipse用的是Luna版的 这些之前都已经设好了,相关下载自己网上找吧 2. 下载最新的Cocos2d-x,我下的是3.5 ...

  2. cocos基础教程(1)Mac环境下搭建

    下面主要介绍cocos2d-x环境的设置以及android的环境搭建 1.下载cocos2d-x 3.0正式版      http://www.cocos2d-x.org/download 2.下载a ...

  3. Window环境下搭建Vue.js开发环境

    原文链接:http://blog.csdn.net/solo95/article/details/72084907 笔者最近在进行前端的学习,在点完了HTML5.CSS3.JavaScript等技能树 ...

  4. window环境下搭建SVN服务器

    <span style="font-family: Arial; rgb(255, 255, 255);">第一步:准备工具:</span> 1.SVN服务 ...

  5. window环境下搭建react native及相关插件

    可以先浏览一下中文翻译的开发文档具体了解一下关于React Native,想要查看官方文档可以点http://facebook.github.io/react-native/docs/getting- ...

  6. react-native学习(RN)--之Window环境下搭建环境配置,以及初始化建立react-native项目,(真机和模拟器运行的相关错误解决办法,android打包报错)

    react-native以后会更火的 一.安装java 二.安装Android Studio 三.安装react-native需要的Android studio额外部分 四.安装nodeJS  五.安 ...

  7. react-native学习(RN)--之Window环境下搭建环境配置

    react-native以后会更火的,自从2015年facebook开源了Android 一.安装java 二.安装Android Studio 三.安装react-native需要的Android ...

  8. Window环境下搭建Git服务器

    如果公司要搭建自己的 Git 服务器,可以使用 gitblit 这个开源的 Git 服务器 下载gitblit安装包 到 http://gitblit.com/下载安装包 解压缩下载的压缩包即可,无需 ...

  9. [转] Hadoop入门系列(一)Window环境下搭建hadoop和hdfs的基本操作

    转自:https://blog.csdn.net/qq_32938169/article/details/80209083 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载 ...

随机推荐

  1. 高校手机签到系统——第一部分Authority权限系统(下)

    很抱歉,之前寝室光纤断了,所以到现在才更新这个系列的第二篇博客.点击访问高校手机签到系统——第一部分Authority权限系统(上) 这几天我反思了一下上一篇写博上的方式,一味的贴代码式的,是否应该更 ...

  2. 编写兼容性JS代码

    前文介绍了: 1 DOM四个常用的方法 2 使用DOM核心方法完成属性填充 本篇主要介绍在JS中需要注意的几个地方,另外为了减小html与javascript的耦合使用java进行onclick方法编 ...

  3. Moqui学习Day2

    用户 本地化  消息和日志门面 用户门面用于管理当前用户和访问,登陆,授权及登出的信息.用户信息包括区域设置,时区以及币种/ec.user.nowTimestamp设置日期. 消息门面用于追踪用户的消 ...

  4. DELETE和DELETE FROM有什么区别

    你如果只针对表进行删除,则一样. 但是如果需要联合其他表,则需要使用from 例如 delete tb1 from tb1 m where id in (select id from tb2) 我的习 ...

  5. zoj3888 找第二大

    题目简化后最终要求的就是第二大的数.但是由于数据较大,不能直接求.可以先预处理,求出所有情况. #include<stdio.h> #include<string.h> #in ...

  6. 【转】Eclipse下导入外部jar包的3种方式

    我们在用Eclipse开发程序的时候,经常要用到第三方jar包.引入jar包不是一个小问题,由于jar包位置不清楚,而浪费时间.下面配图说明3种Eclipse引入jar包的方式.   1.最常用的普通 ...

  7. 点击div区域以外部分,div区域隐藏

    核心思想: 监听body的click事件,事件触发的时候判断是否发生在弹出的div上,如果不在,关闭弹层 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTM ...

  8. 安装最新版本的ReSharper导致原生全局搜索工具的消失问题

    经过检测,是由于启用了一个插件导致的,禁用即可,如下图:

  9. Uva11134 Fabled Rooks

    普通的贪心题. 虽然图是二维的,但可以把横向和纵向分开处理. 将区间按右端点排序,然后从区间左端点到右端点找第一个空位置放棋子即可. /*by SilverN*/ #include<algori ...

  10. maven 热部署成功案列

    首先配置tomcat-user.xml,这个文件是在tomcat的conf文件夹下面 在</tomcat-users>前添加这段 <role rolename="admin ...