Cocos2dx-Android初体验

windows下android平台cocos2dx。


首先得自己具备如下eclipse(adt、cdt)、cygwin、android-ndk 、android-sdk,自己下载安装,不做详细解释。

一、下载cocos2dx。

http://www.cocos2d-x.org/download

我的cocos2dx目录为D:\2013\cocos2dx\cocos2d-x-2.1.4\cocos2d-x-2.1.4

二、首先进行android版配置,需要修改几个地方。

1、进入目录,修改create-android-project.sh中,修改为自己的NDK,SDK目录

# set environment paramters
NDK_ROOT_LOCAL="/cygdrive/d/TOOL/android-ndk-r8b"
ANDROID_SDK_ROOT_LOCAL="/cygdrive/d/TOOL/android-sdk"

2、然后,修改create-android-project.bat文件,修改为自己的目录

:: modify it to work under your environment
set _CYGBIN=d:\PROGRA~1\cygwin\bin
if not exist "%_CYGBIN%" echo Couldn't find Cygwin at "%_CYGBIN%" & pause & exit 4


:: modify it to work under your environment
set _ANDROIDTOOLS=d:\TOOL\android-sdk\tools
if not exist "%_ANDROIDTOOLS%" echo Couldn't find android sdk tools at "%_ANDROIDTOOLS%" & pause & exit 5


:: modify it to work under your environment
set _NDKROOT=d:\TOOL\android-ndk-r8b
if not exist "%_NDKROOT%" echo Couldn't find ndk at "%_NDKROOT%" & pause & exit 6

注意:如果文件路径有空格,则运行cmd,进入该目录,输入debug回车,再 -r 运行,再-quit,之后就能看到固定带空格的短路径。

类似于上面的set _CYGBIN=d:\PROGRA~1\cygwin\bin

三、生成android项目

运行create-android-project.bat,根据提示一步一步操作即可。操作完成后,会生成一个项目文件夹,在目录下,我的为SampleHelloWorld

D:\2013\cocos2dx\cocos2d-x-2.1.4\cocos2d-x-2.1.4\SampleHelloWorld

四、编译动态库

进入目录D:\2013\cocos2dx\cocos2d-x-2.1.4\cocos2d-x-2.1.4\SampleHelloWorld\proj.android,找到build_native.sh

添加export NDK_ROOT=/cygdrive/d/TOOL/android-ndk-r8b (此处为自己对应目录)


运行build_native.sh,稍等一会就编译好了。

......

SharedLibrary : libgame.so
Install : libgame.so => libs/armeabi/libgame.so

五、运行程序

1、首先导入libcocos2dx,位于D:\2013\cocos2dx\cocos2d-x-2.1.4\cocos2d-x-2.1.4\cocos2dx\platform\android\java目录下。

2、再导入刚才生成的项目,添加第一步的lib库,即可运行。

如上,运行没问题了,要是自己动手修改之后,再编译运行呢?下面来介绍

编译java代码自然不用说,改了保存了就可以,但是编译cocos2dx的C代码,需要怎么配置?

六、首先转为C项目

选中项目,右键NEW,C/C++下面有一项Convert to a C/C++ Project (Add C/C++ Nature),点击下一步,勾选SampleHelloWorld,

下面选择Makefile project 右边选择Cygwin GCC,Finish即可。

七、修改Android.mk以及Application.mk(注意为添加路径均为自己的目录)

1、在Android.mk中添加如下两行

$(call import-add-path,D:\2013\cocos2dx\cocos2d-x-2.1.4\cocos2d-x-2.1.4) \
$(call import-add-path,D:\2013\cocos2dx\cocos2d-x-2.1.4\cocos2d-x-2.1.4\cocos2dx\platform\third_party\android\prebuilt) \

$(call import-module,CocosDenshion/android) \
$(call import-module,cocos2dx) \
$(call import-module,extensions)

2、Application.mk中添加如下

APP_STL := gnustl_static
APP_CPPFLAGS := -frtti -DCOCOS2D_DEBUG=1
APP_CFLAGS += -Wno-error=format-security
NDK_MODULE_PATH:=D:\2013\cocos2dx\cocos2d-x-2.1.4\cocos2d-x-2.1.4\cocos2dx\platform\third_party\android\prebuilt

八、系列配置以及修改(注意更换为自己目录)

进入项目属性对话框Project->Properties

1、找到Builder,在出现的对话框里面去掉CDT Bulider的勾,

然后点击New,然后选择Program,OK进入。

自己取一个名字SampleHelloWorldBuilder,

然后Location为D:\TOOL\android-ndk-r8b\ndk-build.cmd,

Working Diretory为${workspace_loc:/SampleHelloWorld} ,然后Apply ,OK。

2、然后在C/C++ Build

1)点击,出现对话框里面,去掉Use default build command的勾,

在下面Build command 填写bash ${workspace_loc:/SampleHelloWorld}/build_native.sh

2)然后在里面找到Environment,点击Add,

Name为NDK_MODULE_PATH,

Value为D:\2013\cocos2dx\cocos2d-x-2.1.4\cocos2d-x-2.1.4\cocos2dx\platform\third_party\android\prebuilt,

打上下面的勾Add to all configurations再OK。

3、然后在C/C++ General 中 找到Paths and Symbols

1)Includes中,点击右边的Add,

在弹出来的对话框里面Diretory中填上D:\TOOL\android-ndk-r8b\platforms\android-9\arch-arm\usr\include

勾上Add to all configurations和Add to all languages再OK

重复操作这一步然后逐一添加以下路径

D:\2013\cocos2dx\cocos2d-x-2.1.4\cocos2d-x-2.1.4\cocos2dx\include

D:\2013\cocos2dx\cocos2d-x-2.1.4\cocos2d-x-2.1.4\CocosDenshion\include

D:\2013\cocos2dx\cocos2d-x-2.1.4\cocos2d-x-2.1.4\CocosDenshion\android

2)Source Location中,点击右边的Link Folder,

Floder Name填写Classes,勾上Link to folder in the file system

选择D:\2013\cocos2dx\cocos2d-x-2.1.4\cocos2d-x-2.1.4\SampleHelloWorld\Classes再OK

重复这一步操作,Floder Name为cocos2dx,路径为D:\2013\cocos2dx\cocos2d-x-2.1.4\cocos2d-x-2.1.4\cocos2dx

Apply 再OK。

九、运行

运行就像普通的android程序运行即可。

十、问题小结

如在编译的时候出现make :**No rule to make target这一类的错误时,把项目下面的obj目录删掉即可。

如提示权限不足,则加权限,chmod -R 777 “文件目录”。

如有不明白的地方,可以留言评论探讨。共同进步。

相关文章

    本文实践自 RayWenderlich、Ali Hafizji 的文章《...
Cocos-code-ide使用入门学习地点:杭州滨江邮箱:appdevzw@1...
第一次開始用手游引擎挺激动!!!进入正题。下载资源1:从C...
    Cocos2d-x是一款强大的基于OpenGLES的跨平台游戏开发...
1.  来源 QuickV3sample项目中的2048样例游戏,以及最近《...
   Cocos2d-x3.x已经支持使用CMake来进行构建了,这里尝试...