首页 > 代码库 > Cocos2dx-Android初体验
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 “文件目录”。
如有不明白的地方,可以留言评论探讨。共同进步。