首页 > Personal > cocos2d-x > cocos2d-x: Mac OS 下新建工程
2013
12-05

cocos2d-x: Mac OS 下新建工程

使用cocos2d-x自带的工具建立多平台工程,命令行下进入cocos2d-x下的tools/project-creator文件夹,执行create_project.py –project my_game –package com.xxxx.my_game –language cpp生成cpp版本工程,之前生成了javascript版本的工程,发现只有android、ios、win32,所以暂时生成cpp版本。执行后会在cocos2d-x根目录下生成projects/my_game文件夹。里面包含各个平台的工程目录proj.*。

mac版本工程在proj.mac下,进入cocos2d-x目录下的projects/my_game/proj.mac文件夹,执行open my_game.xcodeproj,在xcode中打开工程。编译运行,就可以启动执行程序。中间没有遇到什么问题。

ios版本工程在proj.ios下,进入cocos2d-x目录下的projects/my_game/proj.ios文件夹,执行open my_game.xcodeproj,在xcode中打开工程。选择工程ios版本为6.1,执行虚拟机的ios版本也选择为6.1,编译运行。因为xcode更新到了最新版,打开后默认ios版本为7.0,如果不修改编译会有大量错误。可能是cocos2d-x的兼容问题。运行时选择运行工程为my_game,默认工程是cocos2d-x的工程。

mac和ios版本如果工程中添加的资源需要带目录结构,需要在添加时选择Create folder references for any added folders。
使用自定义的ttf字体文件,字体文件要命名为字体的英文名,安装字体后可以看到字体名字,ios还需要在info.plist中的Fonts provide by application中添加相应的字体文件,在使用时setFontname写字体的全路径就可以了,如fonts/Felt.ttf,ios其实只写字体名字就可以了,但是android需要全路径,所以还是需要写全路径。

android版本工程在proj.android下,开始前需要先一些准备工作。首先下载android sdk和 ndk,地址在Window版本开发里有,下载后解压。在~/.bash_profile添加需要的目录配置如下
# android
export COCOS2DX_ROOT=your_cocos2d-x_folder
export ANDROID_SDK_BASE=your_android_sdk_folder
export ANDROID_SDK_ROOT=$ANDROID_SDK_BASE/sdk
export ANDROID_NDK_ROOT=your_android_ndk_folder
export NDK_ROOT=$ANDROID_NDK_ROOT
export PATH=$PATH:$ANDROID_NDK_ROOT
export PATH=$PATH:$ANDROID_SDK_ROOT/tools
export PATH=$PATH:$ANDROID_SDK_ROOT/platform-tools
export PATH=$PATH:$ANDROID_SDK_BASE/eclipse/plugins/org.apache.ant_1.8.3.v201301120609/bin
开发中需要用到java sdk,如果没有安装需要下载安装,链接也在windows版本开发中。如果安装好了,在命令行输入java -version会有相应的版本信息。生成local.properties也参考windows版本开发。然后执行build_native.sh编译,可能会缺少执行权限,执行chmod +x添加。编译后运行ant debug,生成apk,ant也可能缺少执行权限,文件在上面的export最后一个文件夹中。adb install 安装apk到手机上,adb在$ANDROID_SDK_ROOT/platform-tools里。
android管理sdk需要打开android_sdk_folder/eclipse/Eclipse.app在Window中找到Android SDK Manager,打开后管理不同版本的sdk。打开Android virtual Device Manager来管理虚拟机。
如果要在eclipse下调试android工程,步骤如下。eclipse下,ADT->Preferences->Android->NDK设置NDK Location为android—ndk路径。设置完成后添加工程,右键Package Explorer空白区域,Import选择Android->Existing Android Code Into WorkSpace,按Next,Root Directory选择/cocos3d-x-path/cocos2dx/platform/android/java选中libcocos2d-x,finish导入。再次Improt选择自己工程的proc.android导入。修改工程设置,File->Properties或者右键自己工程properties,修改C/C++ Build->Builder->Build command: ndk-build NDK_DEBUG=1, C/C++ Build->Environment添加NDK_MODULE_PATH为/cocos2d-x-path:/cocos3d-x-path/cocos2dx/platform/third_party/android/prebuilt,C/C++ build->Tool Chain Editor修改Current toolchain为Android GCC,Current builder为Android Builder。设置后,Project->Build All编译工程,编译后连接手机到电脑上,右键工程Debug As->Android Application运行程序。运行是会出现对话框,允许logcat。就可以调试了。不过这样是没办法调试c++代码的,要调试c++代码需要修改,文件结构,把Classes文件夹拷贝到jni下,修改Android.mk中../../Classes为Classes。eclipse编译后如果还要用command line生成的话,需要先运行ant clean再ant debug生成apk,不然会出各种错误。同样command line编译完换eclipse编译也需要clean之后build all。

最后编辑:
作者:wy182000
这个作者貌似有点懒,什么都没有留下。

留下一个回复