`

android ndk cocos2dx 开发环境配置

 
阅读更多
cocos2dx 是目前出现在大众视野中主流的可移植框架. 可以把c++编写的程序移植到各个目标平台. 如果你想搭建一个 anroid ndk + coco2dx + eclipse 的开发环境, 相信下面的内容讲会帮到你

网络上很多在window下面配置c++ eclipse 开发环境的帖子, 基本是泛泛而谈, 一旦出错, 无法修复. 如果你人品不好, 配置的 cygwin 编译环境死活不能运行, 根本找不到错误. 而且即便在一台机器上配置好, 在另外的机器上如果需要搭建环境, 重复劳动不说, 错误还是有可能重复出现, 最终你面临的就是细节细节, 耗费你太多开发的热情.

下面我介绍一种靠谱的解决方法
1 下载 cocos2d-1.0.1-x-0.13.0-beta, cocos2dx 1.0 的两个版本区别不大
2 修改解压目录下的 create-android-project.bat 或者是 create-android-project.sh, 修改其中的 "%_ANDROIDTOOLS%" _CYGBIN, 这里我建议在使用 linux shell 来建立 android 项目.
3 运行 create-android-project.bat 按照提示输入包和项目名字后会在 cocos2d-1.0.1-x-0.13.0-beta 目录下产生新的eclipse项目.
4 打开 eclipse 导入新 android 项目.
5 下面和其他文章不同, 其他文章会建议你把刚才导入的 android 项目转化为 c++ 项目, 然后增加 NDK builder 来编译c++代码.
也就是其他帖子是建议你使用使用一个项目来进行 ndk 的开发, 这个项目是 c++ 项目, 同时也是 android 项目.
我对这样的方式不太认同, 我推荐通过文件夹共享的方式来进行开发, 建立一个c++项目来开发 android 的 c++ 部分, 然后再建立一个 android 项目, 里面只有一个 main.cpp, c++ 项目修改时, 通过运行下面的脚本来更新 android 项目下面的 so 文件. 这样 android 项目就相对独立, 不会因为 c++ include 的一点语法错误而不能编译了. 另外的一个好处是 c++项目可以使用其他的开发工具开发, 而android 项目不受影响. 例如你可以使用 vs 来写c++, 通过脚本更新 android 中的 so 文件, 这样android 项目永远都是好的, 不需要考虑eclipse编译 c++ 的各种问题.
<project name="precompile" default="build">
	<property name="projectdir" value="D:/your/android/project/root/dir" />
	<property name="ndk_root" value="D:/android-ndk-r8b" />
	<property name="cocos2dx_root" value="D:/cocos2d-1.0.1-x-0.13.0-beta" />
	<property name="sep" value=";" />
	<property name="NDK_MODULE_PATH" value="${ndk_root}${sep}${cocos2dx_root}${sep}${cocos2dx_root}/cocos2dx/platform/third_party/android/prebuilt" />

	<target name="build">
		<exec command="${ndk_root}/ndk-build.cmd">
			<arg line="-C ${projectdir}" />
			<arg line="NDK_MODULE_PATH=${NDK_MODULE_PATH}" />
			<arg line="NDK_LOG=1" />
			<arg line="V=1" />
		</exec>
	</target>
</project>

运行这个脚本就可以调用 ndk 来编译c++代码为so了. 无需外部编译环境.
6 在 android 项目的的父文件夹(里面还有 Classes 文件夹的那个目录) 中建立一个 eclipse c++ 项目来编辑 c++ 代码. 这里只是借用了 eclipse 良好的图形界面来编辑c++代码, 却并不指望 eclipse 可以正确的运行代码. c++ 文件编辑完成后调用 ant 可以把代码编译成 so 在手机上运行.

anroid ndk 项目调试比较繁琐, 一旦崩溃很难找到错误. 所以你还需要一个本地测试环境, 也就是 c++ application. coco2dx 提供了 linux 和 windows 下面建立桌面编译环境的方式. linux 操作系统下,  cocos2d-1.0.1-x-0.13.0-beta 中含有 proj.linux,按照官方的说明导入, 如果人品好就可以启动 linux 下的 cocos2dx 程序了. 如果不行失败, 那么还有一种解决方法就是 使用 visual studio 导入  cocos2d-1.0.1-x-0.13.0-beta 自带的 vs project, 很简单的几个步骤就能在 windows 下面启动桌面测试程序了. 我就是这样.

到这里, 你已经对怎样建立一个 cpp 项目, 在自己的桌面上运行, 然后在 android 上编译为 so 有了很多了解, 如果运气好, 应该跑通了.

下面附送一段扫描 java代码并且生成 android.mk 文件中src include路径的代码. 在你增删 cpp文件后常需要修改 Android.mk, 这个过程很是痛苦.
package com.hurry07.includecpp;

import java.io.File;

public class CppIncludePathPrint {

    static int filecount;

    public static void main(String[] args) {
        StringBuffer sb = new StringBuffer("LOCAL_SRC_FILES := youprojectname/main.cpp\\\n");
        output(new File("D:/cocos2d-1.0.1-x-0.13.0-beta/youprojectname/Classes"), "\t../../", sb);
        System.out.println(sb);
    }

    private static void output(File file, String prefix, StringBuffer sb) {
        if (file.isFile()) {
            if (file.getName().endsWith(".h")) {
                return;
            }
            if (filecount > 0) {
                sb.append('\\');
                sb.append('\n');
            }
            filecount++;
            sb.append(prefix);
            sb.append(file.getName());
        } else if (file.isDirectory()) {
            prefix += file.getName() + "/";
            File[] subfile = file.listFiles();
            for (int i = 0; i < subfile.length; i++) {
                output(subfile[i], prefix, sb);
            }
        }
    }
}


如果可以使用 linux , 我建议在linux下面开发android ndk 项目. linux 下配置 eclipse c++ tool chain 非常容易, 只要点选一下即可. 另外 eclipse 4.2 中支持 c++ project -> makefile project -> android 这种类型, 使用它建立 c++ project 以后, 只要 ndk-build 可以运行, 那么 eclipse 可以自动识别你所有依赖的 android 或者是 cocos2dx modual 的inclue 路径, c++项目路径设置变得非常容易.

mac 上使用 xcode 来开发 c++ 然后移植到 android 上也是一个方案, mac 按照官方的文档很简单就能建立 cocos2dx 项目, 基本不需要拼人品. mac 对开发人员才是最靠谱的啊.

一切都建立在一个良好人品的基础上, Good Lock
分享到:
评论

相关推荐

    Android Cocos2d-x 环境配置

    总的来说,配置Android Cocos2d-x开发环境是一个涉及多个步骤的过程,包括安装和配置JDK、SDK、NDK,以及转换和导入项目。每个步骤都需要仔细操作,以确保所有组件能协同工作,从而顺利地进行游戏开发。一旦环境配置...

    window7+eclipse+ndk+Cocos2d-x环境配置

    本文档主要介绍了如何在Windows 7操作系统上,使用Eclipse集成开发环境配置Cocos2d-x开发环境,使得开发者可以在同一环境中进行Java和C++代码的编写,无需借助其他编辑器如Visual Studio。以下是配置过程的详细步骤...

    cocos2d-x_v3.16安装及环境变量配置文档

    整个安装和环境配置过程需要对操作系统、命令行操作、环境变量配置有一定的了解,还需要知道如何在开发环境中配置和解决常见的编译错误。对于想要进行跨平台游戏开发的开发者来说,熟悉 Cocos2d-x 以及其依赖环境的...

    cocos2d-xaaNDK.rar_NDK_cocos2d_cocos2d game

    1. **配置环境**:首先,你需要在你的开发环境中安装NDK,并设置好环境变量,确保系统能够找到NDK工具链。 2. **创建项目**:使用cocos2d-x的命令行工具创建新项目,选择支持NDK的模板。 3. **编写C++代码**:在...

    第四课:Cocos2D-X跨平台开发环境搭建(win32)

    【Cocos2D-X 跨平台游戏开发环境搭建详解(Win32)】 Cocos2D-X 是一个广泛使用的开源游戏开发框架,它允许开发者创建跨平台的游戏,支持iOS、Android、Windows等操作系统。本教程将详细介绍如何在Windows环境下...

    cocos2d-x android 环境搭建和编译文档

    本文将详细讲解如何在Android环境下搭建Cocos2d-x开发环境以及进行项目编译。 **一、环境准备** 1. **Java Development Kit (JDK)**:首先,你需要安装Java开发工具包(JDK)来支持Android Studio和NDK的运行。...

    linux+eclipse+ndk+Cocos2d-x环境配置

    以上步骤完成后,你的开发环境应该已经配置好,可以开始使用Cocos2d-x进行Android游戏开发。在开发过程中,确保随时监控开发环境的稳定性和项目依赖的完整性,这对于保障开发效率和最终产品质量至关重要。

    cocos2d-x-android环境搭建文档

    在Android平台上开发Cocos2d-x游戏,我们需要先搭建好相应的开发环境。这个过程主要包括安装必要的软件、配置环境变量以及集成开发环境(IDE)的设置。 首先,我们需要安装Java Development Kit (JDK)。JDK是开发...

    android-cocos2d-1

    《Android Cocos2d开发详解:借助项目模板开启游戏之旅》 Cocos2d是一款强大的开源游戏引擎,广泛应用于移动平台的游戏开发,包括Android。在Android平台上,Cocos2d-x是一个C++版本的实现,提供了高效、易用的游戏...

    cocos2d-x_Android_环境配置手册

    ### 知识点一:Cocos2d-x简介 Cocos2d-x是一个开源的游戏开发框架,用于构建2D游戏、...通过以上知识点的介绍,开发者应该能够顺利地搭建Cocos2d-x以及相关工具的开发环境,并在Android平台上进行Cocos2d-x游戏开发。

    cocos2d环境搭建过程

    整个过程可以分为七个步骤:准备工作、cygwin安装配置、NDK环境搭建、NDK编译程序、安装CDT、安装Sequoyah插件、JNI编译环境配置和下载cocos2d-x。 准备工作 在开始搭建cocos2d环境之前,我们需要准备好一些工具,...

    Cocos2d Android的小游戏打飞机

    1. **环境配置**:首先,你需要安装Java Development Kit (JDK)、Android Studio、Android SDK以及Cocos2d-x SDK。配置好Android NDK和NDK路径,确保项目能够正确编译和运行。 2. **项目创建与结构**:使用Cocos2d-...

    NDK下cocos的配置文件

    1. **安装NDK**:首先,你需要下载并安装适合你开发环境的NDK版本,将其路径添加到系统环境变量,以便于命令行调用。 2. **设置项目环境**:在Cocos2d-x项目根目录下,找到`project.properties`文件,确保其中指定...

    Cocos2d-x环境搭建及平台移植(Win32\Android\Ios)

    "Cocos2d-x环境搭建及平台移植(Win32\Android\Ios)" Cocos2d-x是一个跨平台的游戏引擎,可以在Windows、Android、iOS等平台上运行。下面是关于Cocos2d-x环境搭建及平台移植的详细知识点: 一、搭建Windows开发...

    64位win7配置eclipse+ndk+cocos2dx开发环境

    在本文中,我们将详细讨论如何在64位Windows 7操作系统上配置Eclipse、NDK以及Cocos2d-x开发环境。首先,我们需要确保我们拥有正确的软件版本,这些包括: - Eclipse:eclipse_4.3_x64(Eclipse IDE for Java EE ...

    cocos2d-x配置教程,主要关于移植android

    本教程将深入探讨如何在Windows环境下配置cocos2d-x,以便于将项目移植到Android平台。这个过程可能相对复杂,但一旦设置完成,后续的Android项目移植将变得相当快捷。 首先,我们需要安装必要的工具和软件。这些...

    windows_平台下安装android的cocos2D-x2.6.6.pdf

    在**Windows**平台上搭建**Cocos2D-x 2.6.6**开发环境,主要用于Android应用开发。此环境下涉及到的关键软件与环境包括: 1. **Cocos2D-x 2.6.6**:一个开源的跨平台游戏框架,支持多语言开发。 2. **Visual Studio...

Global site tag (gtag.js) - Google Analytics