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  “文件目录”。


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

你可能感兴趣的:(android,cocos2dx)