Quick-Cocos2dx-Community 是跨平台的游戏引擎,支持时下流行的 Android 移动操作系统。本节将教大家如何在 Windows 上把已经开发好的游戏打包为 Android 上可运行的 apk 文件。

Quick-Cocos2dx-Community Android 打包分以下几个步骤:

(1)安装quick cocos 3.3

(2)安装JDK

(3)安装ADT

(4)安装NDK

(5)安装Apache Ant

(6)编译项目

(1)安装quick cocos 3.3(由于公司的项目是用的3.3,而且以前用了3.6.4,试了很久都没有成功,所以就卸载后换成3.3了)

点击exe直接安装,为了以后使用方便,建议把建立一个 cocos文件夹,把所有版本都放在cocos下,在cocos下建立一个workspace用来存放工程。安装好cocos后顺便讲下安装Sublime和QuickXDev,直接复制《Cocos2d-x之Lua核心编程》中的东西,这本书这里还是可以用的,最后的打包就不用了,试了,不行。

(2)安装JDK

因为Unity打包时安装过了,所以这步跳过

(3)安装ADT

ADT 是 Android Developer Tools 的缩写,它包含下面的内容:

  • Eclipse + ADT plugin
  • Android SDK Tools
  • Android Platform-tools
  • The latest Android platform
  • The latest Android system image for the emulator

Android 官方已把 Android Studio 推为官方的 Android 开发环境,但我们这里依然选择 ADT 作为 Android 编译环境,有以下几点原因:

  1. ADT 集成了 Android 开发需要的所有包(除 NDK 外),可以节省环境搭建的时间。
  2. ADT 方便进行命令行编译,为自动打包奠定基础。

ADT 最新版各平台下载地址:

http://dl.google.com/android/adt/adt-bundle-windows-x86-20140702.zip

http://dl.google.com/android/adt/adt-bundle-windows-x86_64-20140702.zip

http://dl.google.com/android/adt/adt-bundle-mac-x86_64-20140702.zip

配置步骤:

把 Windows 64位系统对应的 adt-bundle-windows-x86_64-20140702.zip 解压到一个目录并更名为 adt-bundle-windows,例如D:\Android\adt-bundle-windows(这是我的路径,我把本次要安装的ADT、NDK、Apache Ant都放在了Android路径下)。目录下包含两个子文件夹 eclipse 和 sdk。

配置环境变量:

① 在"环境变量"的"用户变量"中加入以下两个变量:


变量:ANDROID_SDK_ROOT 值:D:\Android\adt-bundle-windows\sdk
变量:ANDROID_HOME 值:D:\Android\adt-bundle-windows\sdk

②在"系统变量"的 Path 变量的尾部添加以下字段:

D:\Android\adt-bundle-windows\sdk\tools;D:\Android\adt-bundle-windows\sdk\platform-tools

(4)安装NDK

Android SDK 基于 Java 实现,要编译 C++ 代码,还需要 NDK 环境。

Quick-Cocos2dx-Community 3.x 对 NDK 的版本有着特殊的需求,不能低也不能高。准确的说,我们需要安装 NDK 的 r9d 版本。

r9d 下载地址:

http://dl.google.com/android/ndk/android-ndk-r9d-windows-x86.zip

http://dl.google.com/android/ndk/android-ndk-r9d-windows-x86_64.zip

http://dl.google.com/android/ndk/android-ndk-r9d-darwin-x86.tar.bz2

http://dl.google.com/android/ndk/android-ndk-r9d-linux-x86.tar.bz2

http://dl.google.com/android/ndk/android-ndk-r9d-linux-x86_64.tar.bz2

配置步骤:

把 Windows 平台对应的 android-ndk-r9d-windows-x86_64.zip 解压到一个目录并更名为 android-ndk,例如D:\Android\android-ndk(这是我的路径)

配置环境变量:

①在"环境变量"的"用户变量"中加入以下两个变量:


变量:ANDROID_NDK_ROOT, 值:D:\Android\android-ndk 变量:NDK_ROOT 值:D:\Android\android-ndk

(5)安装Apache Ant

Apache Ant 是一个将软件编译、测试、部署等步骤联系在一起加以自动化的一个工具,大多用于 Java 软件开发环境。我们的 Quick-Cocos2dx-Community 命令行打包需要用到 ant 工具。

Ant 官方网站:http://ant.apache.org/

我们使用的版本是1.9.4

配置步骤:

把 apache-ant-1.9.4-bin.zip 解压到一个目录,例如D:\Android\ant(这是我的路径)

配置环境变量:

①在"环境变量"的"用户变量"中加入以下变量:

变量:ANT_ROOT 值:D:\Android\ant\bin

②在"系统变量"的 Path 变量的尾部添加以下字段:

D:\Android\ant\bin

(6)编译项目

在编译项目之前,我们先确认一下编译环境。

请确保,Quick-Cocos2dx-Community、JDK、ADT、NDK 和 Ant 都已正确安装,这 5 个工具均需要配置"系统环境变量"。

① 使用 player3 新建了一个 test 项目位于D:\cocos\workspace\mytest。(注:创建工程不勾选"Copy Source Files",也就是不包含引擎代码。)以 mytest 项目为例说明如何编译 Android apk 包。

②切换到 mytest的 Android 工程路径,清理编译临时文件。(不一定每次都需要清理,但是建议编译 release 版本一定要先清理后打包)

C:\Users\Administrator>d:

D:\>cd D:\cocos\workspace\mytest\frameworks\runtime-src\proj.android

D:\cocos\workspace\mytest\frameworks\runtime-src\proj.android>clean.bat

③编译 Quick-Cocos2dx-Community 引擎的 C++ 核心。

D:\cocos\workspace\mytest\frameworks\runtime-src\proj.android>build_native.bat

这个过程调用 NDK 进行编译,并生成 libcocos2dlua.so 文件。如果一切顺利,应该看到下面的 log 信息:

[armeabi] SharedLibrary  : libcocos2dlua.so
[armeabi] Install : libcocos2dlua.so => libs/armeabi/libcocos2dlua.so
make.exe: Leaving directory `D:/cocos/workspace/hello/frameworks/runtime-src/proj.android'

④更新 test 的 Android 项目配置信息。(这步只需做一次即可)

D:\cocos\workspace\mytest\frameworks\runtime-src\proj.android>android update project -p . -t 1

⑤更新 Quick-Cocos2dx-Community 引擎工程的 Android 项目配置信息。(这步只需做一次即可)

D:\>cd D:\cocos\quick-3.3\cocos\platform\android\java

D:\cocos\quick-3.3\cocos\platform\android\java>android update project -p . -t 1

⑥修改 proj.android 目录下 project.properties 文件中关于 Quick-Cocos2dx-Community 引擎工程的引用路径。(注意:路径根据自己的工程相对路径设置,下面是我的路径)

android.library.reference.1=../../../../../quick-3.3/cocos/platform/android/java

⑦切换回 test 工程下的 proj.android 目录,运行 ant 打包命令。(注:如果遇到类似resolve to a path with no project.properties的错误提示信息,请仔细检查 project.properties 中的引擎相对路径是否正确配置。)

D:\cocos\workspace\mytest\frameworks\runtime-src\proj.android>ant debug

成功编译将看到如下 log 信息:

apk 文件位于proj.android/bin/mytest-debug.apk

ant 常用命令说明(注:clean.bat是清理 NDK 编译环境):

  1. ant debug用于生成自签名的测试 apk 包,可直接在 Android 手机上安装运行。
  2. ant release生成发布版本的 apk 包。默认配置生成的 hello-release-unsigned.apk 包是没有签名的,不能直接安装,还需要用签名工具进行签名。
  3. ant clean清理 java 编译环境。

手机安装apk测试,成功:

Quickcocos从安装到打包的更多相关文章

  1. 图解使用VS的安装项目打包程序

    背景 这段时间一直在做客户端程序的打包程序,遇到各种坑.因为以前没有任何这方面的经验,历经各种折腾,费尽九牛二虎之力总算是完成了. 虽然没有太多技术含量,但是因为挺繁琐的,所以还是在此记录一下. 由于 ...

  2. electron安装+运行+打包成桌面应用+打包成安装文件+开机自启动

    1.初始化node项目,生成package.json文件 npm init 2.安装electron,并保存为开发依赖项 npm install electron -D 3.根目录下新建index.j ...

  3. Android程序的安装和打包

    Android程序的安装和打包

  4. mvn从下载安装到纯命令行创建第一个mvn程序(编码,编译,测试,安装,打包)全过程细致分解

    1.maven的下载和安装: a.maven的下载注意事项:如果你是windows,请选择①号,如果你是linux,请选择②号,下载地址:http://maven.apache.org/downloa ...

  5. 技能Get·将浏览器已安装程序打包

    阅文时长 | 0.51分钟 字数统计 | 820字符 主要内容 | 1.前言&环境说明&预备知识 2.详细步骤 3.声明与参考资料 『技能Get·将浏览器已安装程序打包』 编写人 | ...

  6. C# winform 安装程序打包(自定义操作)

    (一),安装程序 以前用vs制作过安装程序,现在把步骤写出来,有帮助的大家一定要顶哦 第一步:建立工程1.打开vs,新建项目->其他项目类型->安装和部署(這個子项下面有安装项目和Web安 ...

  7. 【转】C# winform 安装程序打包(自定义操作)

    (一),安装程序 以前用vs制作过安装程序,现在把步骤写出来,有帮助的大家一定要顶哦 第一步:建立工程1.打开vs,新建项目->其他项目类型->安装和部署(這個子项下面有安装项目和Web安 ...

  8. centos6.5安装fpm打包工具

    FPM功能简单说就是将一种类型的包转换成另一种类型.FPM的github:https://github.com/jordansissel/fpm 1.支持的源类型包: dir: 将目录打包成所需要的类 ...

  9. 在Win8上安装pyinstaller打包python成为可执行文件

    首先我使用的电脑系统是: Windows-8-6.2.9200 Python的版本是: 2.7.8 默认已安装python2.7且设置好了环境变量. 仅为个人记录,非教程. 首先先安装pip: 首先先 ...

随机推荐

  1. HDU 6415 Rikka with Nash Equilibrium (计数DP)

    题意:给两个整数n,m,让你使用 1 ~ n*m的所有数,构造一个矩阵n*m的矩阵,此矩阵满足:只有一个元素在它的此行和此列中都是最大的,求有多种方式. 析:根据题意,可以知道那个元素一定是 n * ...

  2. new一个对象的过程

    不用死记硬背,理解才是硬道理.只需要写个例子,然后输出看一下就清楚了 首先我们看下new Person输出什么? var Person = function(name, age) { this.nam ...

  3. springmvc处理一个请求的全流程

    首先,用户的浏览器发出了一个请求,这个请求经过互联网到达了我们的服务器. Servlet 容器首先接待了这个请求,并将该请求委托给 DispatcherServlet 进行处理. 接着 Dispatc ...

  4. redis常见问题(转)

    常见问题:1.为什么使用redis(一)性能我们在碰到需要执行耗时特别久,且结果不频繁变动的SQL,就特别适合将运行结果放入缓存.这样,后面的请求就去缓存中读取,使得请求能够迅速响应.(二)并发在大并 ...

  5. 装饰者模式(Decorator)---结构型

    1 基础知识 定义:在不改变原有对象的基础上,将功能附加到对象上即动态地给一个对象添加一些额外的职责.特征:提供了比继承更有弹性的替代方案. 本质:动态组合. 使用场景:扩展一个类的功能或给一个类添加 ...

  6. PHP mysqli_field_tell() 函数

    mysqli_field_tell() 函数返回字段指针的位置. 取得所有字段的字段信息,然后通过 mysqli_field_tell() 取得当前字段并输出字段名称.表格和最大长度: <?ph ...

  7. umei-spider

    umei-spider 1 #!/usr/bin/python3 2 3 import requests 4 from bs4 import BeautifulSoup 5 from contextl ...

  8. codeforces#999 E. Reachability from the Capital(图论加边)

    题目链接: https://codeforces.com/contest/999/problem/E 题意: 在有向图中加边,让$S$点可以到达所有点 数据范围: $ 1 \leq n \leq 50 ...

  9. Hdu 5248

    hdu5248-序列变换 题意: 给你一个序列A,要求改变序列A中的某些元素的顺序,形成一个新的数列B,并保证数列B严格单调递增,求出最小代价. 代价计算公式 $ cost(a,b)=max(|A_i ...

  10. OUC_Summer Training_ DIV2_#13 723afternoon

    A - Shaass and Oskols Time Limit:2000MS     Memory Limit:262144KB     64bit IO Format:%I64d & %I ...