最近在学习cocos2dx,真的很强大,使我们更专注于游戏趣味,免去了繁琐的底层框架代码。

cocos2dx的最强大之处当然在于跨平台。跨平台首选当然是Android,好记性不如烂笔头,记下本文分享给大家。

这里认为我们已经有Android开发环境了,在此基础上配置cocos2dx,没有基础Android开发环境的可以自己谷歌一下。

1、下载完cocos2dx2.2.2 之后 还需要安装Python和ndk(http://developer.android.com/tools/sdk/ndk/index.html),使用官方的脚本建立新的项目。在cocos2d-x-2.2.2的目录中进入到\tools\project-creator目录下,按住shift右击,选择在当前位置打开命令窗口。

运行 python create_project.py -project HelloWorld -package com.cocos2d-x.org -language cpp

其中HelloWorld为工程名称,com.cocos2d-x.org为我为android版本取的包标识名,cpp为开发语言。

之后在cocos2d-x-2.2.2\projects目录下可以看到新建的项目。

好开心,所有平台的解决方案都出来了。

PS:所有新建的Cpp以及.h默认都要放到Classes文件夹中。

2、导入生成的Android项目

再导入Cocos2dx的类库

在项目中引用libcocos2dx

3、我们先修改项目jni中的Android.mk
在最后边加上红色的2句,并且在$(call import-module,cocos2dx)之前:
$(call import-add-path, E:/android/cocos2d-x-2.2.2)
$(call import-add-path, E:/android/cocos2d-x-2.2.2/cocos2dx/platform/third_party/android/prebuilt)
$(call import-module,cocos2dx)

PS:文件夹路径要填写自己cocos2dx的路径,

LOCAL_SRC_FILES := hellocpp/main.cpp \
../../Classes/AppDelegate.cpp \
../../Classes/HelloWorldScene.cpp

改为

FILE_LIST := hellocpp/main.cpp
FILE_LIST += $(wildcard $(LOCAL_PATH)/../../Classes/*.cpp)
LOCAL_SRC_FILES := hellocpp/main.cpp
LOCAL_SRC_FILES := $(FILE_LIST:$(LOCAL_PATH)/%=%)

这样可以免去手动输入引用CPP的麻烦。

再修改jni中的Application.mk
在最后面添加环境变量(你的cocos2d-x-2.2.2的位置):
NDK_MODULE_PATH:=E:/android/cocos2d-x-2.2.2;E:/android/cocos2d-x-2.2.2/cocos2dx/platform/third_party/android/prebuilt

4、将步骤1中的Resources文件夹中的所有内容拷贝到项目的assets中。

5、在eclipse的window-》preferences菜单下配置NDK的安装路径为你放置NDK的路径如D:\Android\android-ndk-r9c

6、右键项目-》properties-》C/C++ Build 修改Build command为 例如:D:\Android\android-ndk-r9c\ndk-build.cmd

7、右键项目-》properties-》C/C++ Build-》Environment中新增环境变量NDK_MODULE_PATH,值为步骤3中的值。

8、编译运行。

调试其实很简单,但是如果没有设置,打开CPP会报许多错,但是编译是通过的。

1、首先确定引用的文件夹路径是否正确

2、在能够编译通过的情况下,打开其中任意一个CPP应该会报一大堆错误,不用怕,不用理会,因为编译没有任何问题。

3、右键项目-》properties-》C/C++ General-》Code Analysis-》

4、报什么错,我们就去掉检测。

5、再看看Cpp应该不会报错了,右键项目-》debug as-》 Android Native Application,加上断点调试吧!

参考:http://www.eoeandroid.com/thread-321983-1-1.html

cocos2dx Android 环境搭建 以及 ndk调试的更多相关文章

  1. cocos2d-x Android 环境搭建问题汇总

    初次接触Cocos2d-x,准备搭建一个hello world的Android环境,问题遇到很多.在此记录,为自己,也为大家,避免重走弯路! 具体的环境搭建,可以参考官方的文档.在Windows7平台 ...

  2. cocos2d-x Android环境搭建

    1.Java虚拟机.分32位和64位.64位: jdk-8u11-windows-x64-8.0.11.12.1406275777 环境变量配置,我的电脑右击->属性->高级系统设置-&g ...

  3. cocos2d-x 3.0 Android环境搭建(亲測通过)

    网上一大堆讲述coco2d-x 3.0 版本号的android环境搭建.真是不忍直視.讲的不清不楚,真是不知道他们自己有没有測试过.今天正好忙完项目有点时间去部署了下android环境. cocos2 ...

  4.  paip.android环境搭建与开发事例

    paip.android环境搭建与开发事例 好长时间没有玩AndROID了..以前常常做ANDROID的,今天决定在下载一个要做个时间设置器 作者Attilax ,  EMAIL:1466519819 ...

  5. React-native Android环境搭建

    基础安装 安装Homebrew Homebrew是Mac OSX的包管理器,我们需要通过Homebrew安装开发React Native的相关软件包. 如果不知道怎样安装Homebrew可以点这里:官 ...

  6. Android 环境搭建

    一.Android 环境搭建 开发工具: Android Studio(开发工具,前提是先装 java JDK) 下载地址:http://www.androiddevtools.cn/   Oracl ...

  7. 20145308刘昊阳 《Java程序设计》实验四 Android环境搭建 实验报告

    20145308刘昊阳 <Java程序设计>实验四 Android环境搭建 实验报告 实验名称 Android环境搭建 实验内容 搭建Android环境 运行Android 修改代码,能输 ...

  8. android环境搭建——工欲善其事,必先利其器 2

    前两天鼓捣android, 搭建环境,不想麻烦就用了  adt-bundle-windows-x86-20140702. rar , 起个模拟器哇塞,太爽了. 出去转一圈唠会回来正好启动成功!有个网友 ...

  9. 第一课 android环境搭建

    android环境搭建需要的工具: 1.JDK 2.eclipse 3.SDK 4.ADT

随机推荐

  1. __cdecl __stdcall __fastcall之函数调用约定讲解

    首先讲解一下栈帧的概念: 从逻辑上讲,栈帧就是一个函数执行的环境:函数参数.函数的局部变量.函数执行完后返回到哪里等等. 实现上有硬件方式和软件方式(有些体系不支持硬件栈) 首先应该明白,栈是从高地址 ...

  2. YARN的 AM与RM通信,申请资源分配过程

    AppMaster向RM请求资源 MRAppMaster :serviceinit // service to allocate containers from RM (if non-uber) or ...

  3. ASP.NET防止用户多次登录的方法

    常见的处理方法是,在用户登录时,判断此用户是否已经在Application中存在,如果存在就报错,不存在的话就加到Application中(Application是所有Session共有的,整个web ...

  4. 腾讯开源的轻量级CSS3动画库:JX.Animate

          JX.Animate 是由腾讯前端团队 AlloyTeam 推出的一个 CSS3 动画库,通过 JX(腾讯的前端框架)插件的形式提供. Why CSS3 众所周知在支持HTML5的浏览器中 ...

  5. CodeForces 321A

    A. Ciel and Robot time limit per test 1 second memory limit per test 256 megabytes input standard in ...

  6. Android App集成支付宝

    原地址:http://blog.csdn.net/wenbingoon/article/details/7933078 手机的在线支付,被认为是2012年最看好的功能,我个人认为这也是移动互联网较传统 ...

  7. Extjs文本输入框

    var loginForm = Ext.create('Ext.form.Panel', {         title: '单行输入',         renderTo: Ext.getBody( ...

  8. MariaDB Galera Cluster 部署(如何快速部署 MariaDB 集群)

    MariaDB Galera Cluster 部署(如何快速部署 MariaDB 集群)  OneAPM蓝海讯通7月3日 发布 推荐 4 推荐 收藏 14 收藏,1.1k 浏览 MariaDB 作为 ...

  9. c#实现Socket网络编程

    命名空间: 在网络环境下,我们最感兴趣的两个命名空间是System.Net和 System.Net.Sockets. System.Net命名空间通常与较高程的操作有关,例如download或uplo ...

  10. HDU 2571 命运 动态规划

    命运 http://acm.hdu.edu.cn/showproblem.php?pid=2571 Problem Description 穿过幽谷意味着离大魔王lemon已经无限接近了!可谁能想到, ...