1.需要的软件
cocos2d-2.1rc0-x-2.1.3:官方地址:
http://www.cocos2d-x.org/
Eclipse-ADT:Google发布的一个Eclipse,基本默认安装了开发需要的所有插件,下载地址:
http://developer.android.com/sdk/installing/bundle.html
Cygwin:
http://www.cygwin.com/
文件路径:
cocos2d-x:D:\cocos2d-2.1rc0-x-2.1.3
Android SDK:D:\AndroidSDK
Android NDK:D:\AndroidNDK\android-ndk-r8e
Cygwin:D:\cygwin
2.配置VS2010
cocos2d-x目录下面的install-templates-msvc.bat即可为VS安装上cocos2d-x的模板,但是我的机子同时安装了VS2010和VS2012,运行这个文件之后VS
2012有模板,但是VS2010没有,这个时候可以运行D:\cocos2d-2.1rc0-x-2.1.3\template\msvc\InstallWizardForVS2010.js。windows中运行js文件需要使用cmd命令行,进入到js文件的目录,使用如下命令(管理员身份运行cmd):
wscript //e:jscript InstallWizardForVS2010.js
这样就可以在VS中创建cocos2d的项目,打开D:\cocos2d-2.1rc0-x-2.1.3\cocos2d-win32.vc2010.sln,右键solution->rebuild solution,这一步比较久,近10分钟的样子。
右键solution->add->new project,如下:
选择finish,得到一个新的项目,运行即可得到cocos2d的吉祥物界面:
3.使用Eclipse同时编译java和C++代码
3.1配置cocos2d-x
修改D:\cocos2d-2.1rc0-x-2.1.3\create-android-project.bat,将对应的路径改为之前解压缩文件的路径:
:: modify it to work under your environment
set _CYGBIN=D:\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:\AndroidSDK\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:\AndroidNDK\android-ndk-r8e
if not exist "%_NDKROOT%" echo Couldn't find ndk at "%_NDKROOT%" & pause & exit 6
3.2创建新项目
运行create-android-project.bat,得到提示,输入包的名字,输入:com.game(可自定义),输入项目名字:xjtuGame(可自定义),之后会列出已安装的Android Platform,如下图:
当前项目中选择1,Android2.3.3平台,之后得到很多输出:
此时,在D:\cocos2d-2.1rc0-x-2.1.3得到项目xjtuGame。
3.3导入项目
右键Eclipse Package Explorer -> import -> Existing Android Code Into Workspace -> next -> Browse -> 选择xjtuGame\proj.android -> finish.
导出后查看属性发现这个项目依赖于libcocos2dx,这个项目位于D:\cocos2d-2.1rc0-x-2.1.3\cocos2dx\platform\android\java,以同样的方式导入。
build项目正常,但是运行之后出错。还有以下操作:
选中Eclipse左侧的xjtuGame项目,右键点击New -> Other -> 选择C/C++下面的Convert to a C/C++ Project(Adds C/C++ Nature),在弹出的对话框中做如下选择:
选择finish,弹出对话框询问要不要切换到C\C++试图,选择No。这一步如果没有C\C++,这需要安装CDT和NDK,参照:
http://tools.android.com/recent/usingthendkplugin
打开项目属性对话框,取消Use default build command的复选框,在 Build command中输入(注意替换项目名字):
然后选择Apply -> OK。
运行项目,还是不行,提示
**** Build of configuration Default for project xjtuGame ****
bash D:\cocos2d-2.1rc0-x-2.1.3\xjtuGame\proj.android/build_native.sh NDK_DEBUG=1 V=1 all
cygwin warning:
MS-DOS style path detected: D:\cocos2d-2.1rc0-x-2.1.3\xjtuGame\proj.android
Preferred POSIX equivalent is: /cygdrive/d/cocos2d-2.1rc0-x-2.1.3/xjtuGame/proj.android
please define NDK_ROOT
CYGWIN environment variable option "nodosfilewarning" turns off this warning.
Consult the user's guide for more details about POSIX paths:
http://cygwin.com/cygwin-ug-net/using.html#using-pathnames
**** Build Finished ****
打开jni -> hellpcpp -> main.cpp发现一堆的错误,这是因为Eclipse找不到对应的头文件,需要将相关的文件添加到项目中,右键项目 -> new -> Folder -> 选中项目并且打开Advance,点击Browse,选择和之前导入的proj.android同一目录下面的Classes
点击finish导入。
以同样的方式导入D:\cocos2d-2.1rc0-x-2.1.3\cocos2dx
如图所示添加引用,使用fileSystem定位到下面两个文件夹:
D:\AndroidNDK\android-ndk-r8e\platforms\android-9\arch-arm\usr\include
D:\cocos2d-2.1rc0-x-2.1.3\CocosDenshion\include
确认后提示是否需要rebuild include search path,选择Yes。
重建所有项目发现所有的错误都消失了,运行在真机上面得到cocos2d的hello项目。
MAC OS下面的配置方式类似,软件下载MAC对应的版本即可,具体可参照:
http://blog.csdn.net/wong_judy/article/details/8093760