本节和大家一起新建一个项目工程,并通过cygwin迁移至android平台。

     以下是本节主要内容:

  • 利用cocos2d-x自带脚本,生成测试工程,并测试运行;
  • 将该测试项目通过cygwin生成apk文件,迁移至安卓平台运行。

一、生成测试项目

    cocos2d-x 2.1.4版本不同于之前版本,该版本通过cocos2d-x-2.1.4\tools\project-creator\create_project.py 脚本新建项目,生成的项目位于cocos2d-x 根目录的 cocos2d-x-2.1.4\projects下。脚本如下

python create_project.py -project %pname% -package %pflag% -language cpp

.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, "Courier New", courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }

    当然,这样操作很不直观,我们可以自己写一个简单的bat文件进行简单体验优化,如下

@echo off
set /p pname=请输入所要新建的项目名称:
set /p pflag=请输入所要新建项目的包标识名:
python create_project.py -project %pname% -package %pflag% -language cpp
pause

.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, "Courier New", courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }

    将以上内容保存为create_project.bat,与create_project.py 放于同一目录,以后我们就可以用这个bat文件进行新建项目了。下面我们执行create_project.bat,输入相关工程信息,新建一个工程,如下:

    之后,会在目录 cocos2d-x-2.1.4\projects 下生成工程目录

    进入 ./FishingJoy\proj.win32 目录,双击FishingJoy.sln 解决方案文件,CTRL+F5 运行,你发现了什么~

    如果是他,那恭喜,你成功了! 新生成的解决方案下项目如下,先瞄一眼,以后再详细介绍

二、将新建的工程编译为安装版本

    首先进入cocos2d-x的目录,找到create-android-project.bat,找到_CYGBIN、_ANDROIDTOOLS、_NDKROOT,修改为相应的工具路径(上节已介绍),之后猛击之,按照提示输入对应信息,如下:

    选择支持的android版本代号(此处我们选5,android-8版本),完成。

    生成成功后,会在cocos2d-x跟目录生成项目路径

    将生成项目路径下的Cpp文件及资源文件统统拷贝至该目录内对应目录下(Classes 和 Resources)。

    下面传说中的cygwin终于要登场了,打开cygwin,切换至新建的android项目目录,执行build_native.sh,如下

   下面就是漫长的等待,cygwin会重新编译整个项目,生成android项目需要的文件,成功后显示如下:

 

   打开eclipse,导入生成的项目cocos2d-x-2.1.4\FishingJoy\proj.android(通过新建项目的方式导入),如果编译有问题,还需要导入cocos2d-x基础平台项目,路径为cocos2d-x-2.1.4\cocos2dx\platform\android\java,

 

    编译,运行,搞定。如果大家有问题,可以给我留言,一起解决~,最后附上一张我真机的运行截图(魅族MX)

cocos2d-x hello world及安卓平台迁移的更多相关文章

  1. Windows C盘格式化或者同平台迁移oracle数据库

    我们知道如果是Linux 同平台迁移oracle数据库.只要是安全关闭了数据库,在新机器上创建用户组,配置了环境变量,将数据库安装目录拷贝到对应的目录就好用了. 一直在寻求Windows平台上这类的解 ...

  2. 安卓平台 全面支持软解和硬解的SDK-Demo源代码开放

    专业做视频编解码的SDK开发工作. 2015年12月1日10:46:55: 更新到1.5.0版本 功能列表: 基本播放: 1,正常播放, 支持MP4,FLV,AVI,TS,3GP,RMVB,WM,WM ...

  3. 在Unity3D中实现安卓平台的本地通知推送

    [前言] 对于手游来说,什么时候需要推送呢?玩过一些带体力限制的游戏就会发现,我的体力在恢复满后,手机会收到一个通知告诉我体力已完全恢复了.这类通知通常是由本地的客户端发起的,没有经过服务端. 在安卓 ...

  4. ionic3 打包安卓平台环境搭建报错解决方案总结

    1.jvm虚拟机提供的运行空间小于项目所需的空间是报错.如图: 解决方法:在环境变量中配置jvm的运行内存大小,大于所需的内存即可. 其中:-Xmx512M可根据实际提示情况,进行更改,如1024M, ...

  5. Unity切换到安卓平台Shader丢失(opengl)

    Unity安卓平台shader平台丢失 Unity的工程切换到Android平台后,运行游戏出现shader丢失 解决办法:在Unity桌面图标的快捷方式后添加 -force-gles20 示例:&q ...

  6. Linux 工程向 Windows 平台迁移的一些小小 tips

    Linux 工程向 Windows 平台迁移的一些小小 tips VS2013 C++11 Visual Studio 2013 没有做到对 C++11 所有的支持,其中存在的一个特性就是 In-cl ...

  7. cocos2d-x 3.0 WIN7+VS2012 安卓平台搭建

    ***************************************转载请注明出处:http://blog.csdn.net/lttree************************** ...

  8. 安卓平台ARM Mali OpenCL例子-灰度转换(转)

    手头一块RK3288的板子,在板子上测试了一张1080p的彩色图灰度转换的OpenCL例子.OpenCL没有任何优化.例子请移步这里. 该例子是编译成安卓平台下的可执行程序. 进入jni文件夹,进行如 ...

  9. phongap开发中安卓平台上如何调用第三方播放器来播放HLS视频

    前文曾经讲了关于在安卓平台上利用phonegap开发播放HLS的解决方案,其实最好的方案就是自己针对HLS视频开发自己的播放器,但是开发播放器是一个浩大的工程,必须对原生安卓开发非常熟悉,并且对视频播 ...

随机推荐

  1. SP 页面缓存以及清除缓存

    JSP 页面缓存以及清除缓存 一.概述 缓存的思想可以应用在软件分层的各个层面.它是一种内部机制,对外界而言,是不可感知的. 数据库本身有缓存,持久层也可以缓存.(比如:hibernate,还分1级和 ...

  2. bind1st bind2nd的使用

    STL中的函数 bind1st. bind2nd用于将一个二元算子转换成一元算子,需要两个 参数,要转换的bf和一个值v. 参考:http://blog.csdn.net/simahao/articl ...

  3. springboot 集合 meshsite3

    工程目录 pom.xml <?xml version="1.0" encoding="UTF-8"?> <project xmlns=&quo ...

  4. 浅谈BUFF设计

    Buff在游戏中无处不在,比如WOW.DOTA.LOL等等,这些精心设计的BUFF,让我们击节赞叹,沉迷其中. 问:BUFF的本质是什么? BUFF 是对一项或多项数据进行瞬间或持续作用的集合.(持续 ...

  5. <<Javascript Patterns>>阅读笔记 -- 第2章 基本技巧(二)

    关于for-in循环 循环数据时, 强烈不推荐使用for-in循环.因为当Array对象被扩展后, 再用for-in循环遍历数据会导致逻辑上的错误, 举例说明: var arr = ['a', 'b' ...

  6. 用Redis Desktop Manager连接Redis(CentOS)

    Redis Desktop Manager是Redis图形化管理工具,方便管理人员更方便直观地管理Redis数据. 然而在使用Redis Desktop Manager之前,有几个要素需要注意: 一. ...

  7. .NET 社区汇总

    英文社区: 名称:MSDN 地址:http://msdn.microsoft.com/zh-cn/default.aspx 描述:这个网站是大家学.Net的初始网站,也是.net方面官方和权威的资料, ...

  8. AciveX接口事件的手动实现

    为了理解ActiveX事件的运作原理,特意做了如下实验 初试化过程: try { CLSID clsid; HRESULT hr=::CLSIDFromProgID(L"MSWinsock. ...

  9. Android 之XML数据解析(2)—— SAX解析

    (以下文章基本照抄郭霖大神的<第一行代码>) 在Android之 解析XML文件(1)—— Pull解析 中我们讲了Pull方式解析XML文件.今天讲另外一种方式,SAX解析XML文件. ...

  10. 关于 Unity 的一些小细节,不注意可能会被“坑”一些时间。

    关于 Unity 的一些小细节,不注意可能会被"坑"一些时间. 最近因为一些"小"问题,总是需要找很久的原因,总结一下 UnityEngine.Input 在使 ...