来源:http://www.cnblogs.com/angzn/p/3328049.html

一、Android 环境搭建

1、安装Andriod-NDK(Native Development Kit)

  新建一个文件夹(eg:NDK),解压Android-NDK,将解压文件与压缩包放在一个目录下(eg:放在NDK中)。

2、安装cocos2d-x

  解压cocos2d-x源文件到任意目录(一般放在你Workspace一起)。

  修改create-android-project.sh文件,修改NDK_ROOT_LOCAL和ANDROID_SDK_ROOT_LOCAL的值,如下:

  NDK_ROOT_LOCAL="/NDK/android-ndk-r8c"(NDK的路径)

  ANDROID_SDK_ROOT_LOCAL="/Users/tfmacmini02/android-sdk-macosx"(Android SDK(Mac OS X平台)路径)

二、Android 编译

1、进入cocos2d-x源文件目录下,执行cocos2d-x下的create-android-project.sh文件(./create-android-project.sh)来创建android项目。

eg:TF-no-Mac-mini:cocos2d-x-2.1.5 tfmacmini02$ ./create-android-project.sh

2、输入包名,包名输入iOS项目中.plist文件的Bundle identifier即可。

eg:Input package path. For example: org.cocos2dx.example

  net.twinfish.DragGame

3、选择Android支持的版本。

eg:Now cocos2d-x supports Android 2.2 or upper version

Available Android targets:
----------
id: 1 or "android-8"
Name: Android 2.2
Type: Platform
API level: 8
Revision: 3
Skins: HVGA, QVGA, WQVGA400, WQVGA432, WVGA800 (default), WVGA854
ABIs : armeabi
----------
id: 2 or "Samsung Electronics Co., Ltd.:GALAXY Tab Addon:8"
Name: GALAXY Tab Addon
Type: Add-On
Vendor: Samsung Electronics Co., Ltd.
Revision: 1
Based on Android 2.2 (API level 8)
Skins: WVGA854, WQVGA400, GALAXY Tab (default), HVGA, WQVGA432, WVGA800, QVGA
ABIs : armeabi

然后输入id号选择版本

eg:input target id:

  1

4、输入工程名称

eg:input your project name:

DragGame

5、Android工程创建完成,在cocos2d-x目录下生成了对应的Android项目。

NOTE:

1)、工程创建完成后,将iOS项目下的Classes(iOS自己新建的类都放在Classes下)下的文件全部copy到Andriod项目下的Classes下,

  还有Resources下同样也是全部copy(但是iOS下Resources可能有多级目录,Android下只能都放在Resources这个目录下,不能分子目录)。

2)、修改proj.android/jni/Android.mk文件,修改 “LOCAL_SRC_FILES” 的值,将Classes下的 实现文件(除头文件,eg:cpp、mm)的目录都添加进去。

  eg:LOCAL_SRC_FILES := hellocpp/main.cpp \

../../Classes/AppDelegate.cpp \

../../Classes/GameLayer.cpp \

../../Classes/BoxSprite.cpp \

../../Classes/BallSprite.cpp \

6、然后对该项目进行编译,进入项目下的proj.android目录。

eg:TF-no-Mac-mini:cocos2d-x-2.1.5 tfmacmini02$ cd DragGame/proj.android/

NOTE:

  修改build_native.sh文件,添加下面这条语句到顶部。

  export NDK_ROOT=/NDK/android-ndk-r8c

  当然,为了满足项目需求,可能还需要修改其他的一些,具体因项目而定。

7、执行build_native.sh文件进行编译(./build_native.sh),这里可能需要几分钟。

eg:StaticLibrary : libchipmunk.a

Prebuilt : libwebsockets_static.a <= /Users/tfmacmini02/Projects/cocos2d-x-2.1.5/DragGame/proj.android/../../external/libwebsockets/android/./lib/armeabi/
StaticLibrary : libextension.a
SharedLibrary : libgame.so
Install : libgame.so => libs/armeabi/libgame.so
make: Leaving directory `/Users/tfmacmini02/Projects/cocos2d-x-2.1.5/DragGame/proj.android'

8、然后你就可以通过eclipse导入(import),进行编译运行。但是必须在eclipse下导入cocos2d-x的platprom/android/java文件(cocos2d-x的andriod平台支持文件)。

cocos2d-x:将iOS项目编译成Andriod项目的更多相关文章

  1. cocos2d-x 学习笔录:将iOS项目编译成Andriod项目

    一.Android 环境搭建 1.安装Andriod-NDK(Native Development Kit) 新建一个文件夹(eg:NDK),解压Android-NDK,将解压文件与压缩包放在一个目录 ...

  2. Swing项目编译成exe,并且打包成安装文件(二)

    前面我们讲到了将Swing项目编译成双击可执行的文件exe,这篇我就教大家怎么把exe打包成需要在电脑安装的那种,首先需要一个工具,Inno Setup 编译器, 下载地址,我这个是汉化版的,双击打开 ...

  3. 如何将 Java 项目转换成 Maven 项目

    本文内容 Java 项目 Maven 项目 Java 项目转换成 Maven 项目 本文主要介绍如何将 Java 项目转换成 Maven 项目.首先要明确的是,用 Maven 管理 Java 项目的确 ...

  4. 转:如何将 Java 项目转换成 Maven 项目

    如何将 Java 项目转换成 Maven 项目 本文内容 Java 项目 Maven 项目 Java 项目转换成 Maven 项目 本文主要介绍如何将 Java 项目转换成 Maven 项目.首先要明 ...

  5. 将Eclipse项目转换成AndroidStudio项目过程中遇到的问题以及解决方法

    将Eclipse项目转换成AndroidStudio项目也不是第一次了,昨天转的时候遇到几个问题: 首先将项目导入androidstudio,导完后报错: 问题一: Error:java.util.c ...

  6. 把Eclipse项目转换成Maven项目

    把Maven项目转换成Eclipse项目只要使用Maven的Eclipse插件就能做到 mvn eclipse:eclipse 其实Maven的Eclipse插件也有把Eclipse项目转换成Mave ...

  7. Myeclipse Java项目转换成Maven项目

    1.在Eclipse中Java项目转换成Maven项目可以在项目右键-->configure-->Convert Plug-in projects..  就可以.而在myeclipse中项 ...

  8. maven项目转成web项目没有生成WebContent目录

    有时候建立maven项目转成web项目没有生成WebContent目录,此时把Dynamic web module 去掉勾选,然后ok,再点开项目的properties,再选中Dynamic web  ...

  9. Maven 学习笔记——将普通的Java项目转换成Maven项目(3)

    将一个普通的java项目转换成Maven项目并不是一个很大的任务,仅仅只需要下面的几步就能将转换成功.下面我是用一个简单的Selenium测试小demon作为例子来说的. 移调项目中所有关联的Libr ...

随机推荐

  1. numpy,看不懂,但很利害

    慢慢有感觉.. 截几个图看看. import numpy as np np.random.seed(42) complex_numbers = np.random.random(5) + 1j * n ...

  2. CentOS7.5 firefox Flash插件更新

    CentOS7自带的firefox没有flash插件,所以是没有办法在网页上看视频的,需要自己手动安装 1.下载 打开flash官网https://get.adobe.com/flashplayer/ ...

  3. Codeforces Round #300 E - Demiurges Play Again

    E - Demiurges Play Again 感觉这种类型的dp以前没遇到过... 不是很好想.. dp[u] 表示的是以u为子树进行游戏得到的值是第几大的. #include<bits/s ...

  4. Codeforces Round #492 (Div. 2) [Thanks, uDebug!]

    这次的题好奇怪哦... C - Tesla 思路:先把跟停车位相邻的车停进去,然后开始转圈... #include<bits/stdc++.h> #define LL long long ...

  5. nodejs pm2配置使用教程

    pm2是非常优秀工具,它提供对基于node.js的项目运行托管服务.它基于命令行界面,提供很多特性: 内置的负载均衡器等等,下面我们就一起来看看吧. 一.简介 pm2是一个带有负载均衡功能的应用进程管 ...

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

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

  7. Python并发编程-事件,红绿灯控制

    事件用来控制多个进程同时执行或者阻塞 set和clear 分别用来修改一个事件的状态,True或者False is_set 用来查看一个事件的状态 wait 是依据事件的状态来决定自己是否在wait处 ...

  8. IntelliJ 、Pycharm、webstorm 2017 注册码及注册服务器

    jetbrains 家的东西都非常好看,但是价格贵的令人发指,所以我搭建了一个 Pycharm激活服务器,可以用来激活 Pycharm,IntelliJ IDEA,WebStorm.避免频繁更换激活码 ...

  9. 【51Nod 1756】【算法马拉松 23】谷歌的恐龙

    http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1765 设答案为\(X\). 则\[X=\frac{m}{n}\times ...

  10. 各种背包的dp刷题板

    [p1332][NYOJ skiing] 滑雪  (dp+搜索) [p1312] [vjios1448 路灯改建计划] 关灯问题 (背包预处理的分组背包) f[i][j]表示给把前i个灯分为j组可以获 ...