Cocos2d-x 发布 Android

前置需求:

  • Android NDK
  • Android SDK OR Eclipse ADT Bundle
  • Android AVD target installed

编译项目

这里包含两种编译Android项目的方式

  1. Eclipse
  2. 命令行

导入项目到Eclipse

设置 Eclipse 环境 (一次即可)

注意: 这一步只需要操作一次就可以设置好cocos2d-x项目的Eclipse环境,如果你已经操作过可以跳过这一步骤。

  1. 下载 Eclipse ADT 包 Google ADT
    主页

    OR

    安装 Eclipse with Java. 添加 ADT 和 CDT 插件.

  2. Windows 系统才需要操作的步骤

    1. 安装 Cygwin 选择 make (在安装包列表选择make来安装).
    2. 添加 Cygwin\bin 目录到系统路径的PATH变量.
    3. Cygwin\etc\fstab文件的最后添加:none /cygdrive cygdrive binary,noacl,posix=0,user 0 0.
  3. 设置Eclipse变量:

    1. 路径变量 COCOS2DX:

      • Eclipse->Preferences->General->Workspace->Linked Resources
      • 点击 New 按钮来添加新的变量 COCOS2DX 指向到 cocos2d-x 的根目录.
    2. C/C++ 环境变量 NDK_ROOT:

      • Eclipse->Preferences->C/C++->Build->Environment.
      • 点击 Add 按钮添加新的变量 NDK_ROOT 指向到NDK的根目录.
      • Windows系统额外步骤: 添加新的变量 CYGWIN 值为 nodosfilewarning 和 SHELLOPTS 变量,值为 igncr
  4. 导入 libcocos2dx 库项目:

    1. File->New->Project->Android Project From Existing Code.
    2. 点击 Browse 按钮然后打开 cocos2d-x/cocos2dx/platform/android/java 目录.
    3. 点击 Finish 完成添加.

在Eclipse中添加和运行项目

  1. File->New->Project->Android Project From Existing Code
  2. Browse 你的项目目录. Cocos2d-x例子: cocos2d-x/cocos2dx/samples/Cpp/TestCpp/proj.android/
  3. 添加项目
  4. 点击 Run 或者 Debug 编译C++,Java和连接的设备或模拟器上运行

在命令行运行项目

  1. $ cd cocos2d-x/samples/Cpp/TestCpp/proj.android/
  2. $ export NDK_ROOT=/path/to/ndk
  3. $ ./build_native.sh
  4. $ ant debug install

如果最后返回的结果是sdk.dir missing 的错误执行以下命令:

  1. $ android list target
  2. $ android update project -p .-t (id from step 6)
  3. $ android update project -p
    cocos2d-x/cocos2dx/platform/android/java/-t (id fromstep 6)

补充

  1. Windows环境NDK目录不能出现空格
  2. Windows环境Eclipse以管理员身份运行
  3. 本文转载自博客园博主iak的博客:Cocos2d-x 发布 Android
  4. 关于如何在Win7环境下配置Cocos2d-x的Android开发环境,请参考子龙山人的这篇博客:Setting
    Up Cocos2d-x Android Development on Win7
    ;另外,子龙山人的github地址为:https://github.com/andyque,有不少关于Cocos2d-x的源代码和示例供参考和学习。

Cocos2d-x 发布 Android的更多相关文章

  1. [转]使用Gradle发布Android开源项目到JCenter

      转自:http://blog.csdn.net/maosidiaoxian/article/details/43148643 使用Gradle发布Android开源项目到JCenter 分类: G ...

  2. unity3d发布Android程序

    unity3d是一个跨平台的游戏开发引擎,可以使用c#开发各种平台上的游戏,如windows,Mac,Android,windows phone,IOS,Flash等.下面说下如何将开发好的unity ...

  3. 使用Gradle发布Android开源项目到JCenter

    喜欢做些开源项目的朋友,相信有不少人都希望能把自己的项目发布到公共的中央仓库,如maven中央仓库,以供别人方便地集成使用.而使用了Android Studio的同学,应该也对gradle和jcent ...

  4. unity3d连接Sqlite并打包发布Android

    连接Sqlite首先要把dll程序集导入到unity3d工程里面.安装好的unity中可以找到

  5. 谷歌发布 Android 8.1 首个开发者预览版,优化内存效率

    今晨,谷歌推出了 Android 8.1 首个开发者预览版,此次升级涵盖了针对多个功能的提升优化,其中包含对 Android Go (设备运行内存小于等于 1 GB)和加速设备上对机器学习的全新神经网 ...

  6. 【我的Android进阶之旅】快速创建和根据不同的版本类型(Dev、Beta、Release)发布Android 开发库到Maven私服

    前言 由于项目越来越多,有很多公共的代码都可以抽取出一个开发库出来传到公司搭建好的Maven私服,以供大家使用. 之前搭建的Maven仓库只有Release和Snapshot两个仓库,最近由于开发库有 ...

  7. 发布 Android Library 到 JCenter 从入门到放弃

    最近想倒腾一个小小的 UIKit 到 JCenter,为开源社区贡献一点绵薄之力,于是就有了一系列惨无人道的踩坑史.好,接下来,直奔主题,以下是发布流程. 发布到 JCenter 发布到 JCente ...

  8. Unity3D - 发布Android游戏

    本文将介绍如何使用Unity3D来发布Android游戏,这里我使用的Unity3D版本为4.6.3f1 下载Java SDK 使用Unity3D来发布Android游戏时需要用到Android SD ...

  9. React-Native之打包发布(Android)

    React-Native之打包发布(Android) 一,介绍与需求 移动端打包发布到应用市场 二,发布配置 注意:以下所有操作都在win10下进行,React Native版本0.59.5,andr ...

随机推荐

  1. CodeForce-1196C-Robot Breakout

    原题链接 原题大意: 每个机器人分散,可以上下左右移动,但是有些机器人不能向某些方向移动 给出每个机器人的坐标,和每个方向能否正常行进 思路: 用minx, maxx, miny, maxy 记录可以 ...

  2. vue 中 element-ui 引入方式

    目录 前言 全部引用 单个引用 前言 有时候只会使用到 Element-ui 的部分功能,为了减少文件体积建议使用分开引用,即只引用使用的功能. 注意:在main.js中使用部分引用的时候是 impo ...

  3. Apache Shiro 集成Spring(二)

    1.依赖: <dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-cor ...

  4. Python之字符串转换为日期、结合时区的日期操作

    一.字符串转换为日期 方法一 s = '2019-01-20' print(datetime.strptime(s, '%Y-%m-%d')) # 2019-01-20 00:00:00 方法二 de ...

  5. element UI的使用

    npm install --save element-ui main.js里面添加 import ElementUI from 'element-ui' import 'element-ui/lib/ ...

  6. TCP/UDP Linux网络编程详解

    本文主要记录TCP/UDP网络编程的基础知识,采用TCP/UDP实现宿主机和目标机之间的网络通信. 内容目录 1. 目标2.Linux网络编程基础2.1 嵌套字2.2 端口2.3 网络地址2.3.1 ...

  7. go语言从例子开始之Example9.切片

    Slice 是 Go 中一个关键的数据类型,是一个比数组更加强大的序列接口 package main import "fmt" func main() { 不像数组,slice 的 ...

  8. 第12篇Kubernetes 监控

        一.Weave Scope: Weave Scope 容器地图   创建 Kubernetes 集群并部署容器化应用只是第一步.一旦集群运行起来,我们需要确保一起正常,所有必要组件就位并各司其 ...

  9. input file 上传文件类型控制

    文件类型 accept *.3gpp audio/3gpp, video/3gpp.ac3 audio/ac3.asf allpication/vnd.ms-asf.au audio/basic.cs ...

  10. ios微信分享的兼容性问题

    我微信分享采用的是: 页面初始化时动态加载js-sdk, 然后在需要分享的页面进行sdk的分享初始化 app.vue store.vue 这种方法在安卓上完全正常, 好用得令人发指, 但是!!! io ...