原文地址:http://www.cnblogs.com/zilongshanren/archive/2012/03/04/2377873.html
首先,按照上一篇教程,搭建好mac下面的cocos2dx和android开发环境,注意配置好一些环境变量的值,比如$COCOS2DX_ROOT等。然后使用Xcode建立一个cocos2dx_box2d项目,命名为Box2DTest,如下图所示:
然后,还是和之前一样,用cocos2dx安装目录下的脚本来创建一个android工程,我们把这个工程命名为Box2DTest。
接下来,就是创建一个makefile了:
首先,选择一个你最喜欢的文本编辑器,然后cd到刚刚这个Box2DTest的android目录下面,然后打开terminal,输入:
vim makefile //然后会创建一个新的窗口,接着输入i进入编辑模式,然后键入下面3条语句 clean: rm -rf libs/ rm -rf obj/
请特别注意,这里的clean:是顶格输入的,而两条rm语句是使用tab键缩进的。如果不缩进,则输入make clean的时候会报错。
输入完后,esc(回到命令模式) :wq 回车,保存并退出。ok,搞定,然后输入make clean,如果出现下面的输出,则表示ok了:
rm -rf libs/ rm -rf obj/
接下来,把一些android相关的文件拷贝到之前建好的ios项目下面去。(注意$符号+环境变量名,是你之前定义的目录的别名,即$COCOS2DX_ROOT表示你的cocos2dx的解压缩目录)
第一步,把android这个文件夹从$COCOS2DX_ROOT/Box2DTest/android/拷贝到iphone的工程目录下面去,和ios这个文件夹在同一目录。(最终的目录是Box2DTest/Box2DTest/android/)
第二步,把Android.mk这个文件从$COCOS2DX_ROOT/Box2DTest/Classes/拷贝到Box2DTest/Box2DTest/Classes/下面
第三步,把Android.mk从$COCOS2DX_ROOT/cocos2dx/拷贝到Box2DTest/Box2DTest/libs/cocos2dx/下面
第四步,把android文件夹从$COCOS2DX_ROOT/CocosDenshion拷贝到Box2DTest/Box2DTest/libs/CocosDenshion/下面去。
第五步,把Android.mk从COCOS2DX_ROOT/Box2D/拷贝到Box2DTest/Box2DTest/libs/Box2D/下面去。
最后一步,把platform这个文件夹从$COCOS2DX_ROOT/cocos2dx/platform拷贝到Box2DTest/Box2DTest/libs/cocos2dx/下面去。
当然,这个platform有点大,大约有114M,其中除了android,third_party和ios这三个文件夹不能删除之外,其它文件夹全部可以删除,特别注意!!!!
不要删除那些文件,一个文件也不能删除!!!!
接下来,我们配置一下build_native.sh脚本,把它替换成如下所示:
# set params NDK_ROOT=/Volumes/Mydata/android-ndk-r7b/ COCOS2DX_ROOT=../libs/cocos2dx GAME_ROOT=../ GAME_ANDROID_ROOT=$GAME_ROOT/android RESOURCE_ROOT=$GAME_ROOT/Resources # make sure assets is exist if [ -d $GAME_ANDROID_ROOT/assets ]; then rm -rf $GAME_ANDROID_ROOT/assets fi mkdir $GAME_ANDROID_ROOT/assets # copy resources for file in $RESOURCE_ROOT/* do if [ -d $file ]; then cp -rf $file $GAME_ANDROID_ROOT/assets fi if [ -f $file ]; then cp $file $GAME_ANDROID_ROOT/assets fi done # build $NDK_ROOT/ndk-build -C $GAME_ANDROID_ROOT $*
注意,这里的NDK_ROOT要改成你自己的路径。
然后修改android/jni/Android.mk,修改成下面的样子:
同时把Application.mk修改成下面的样子:
APP_STL := gnustl_static APP_CPPFLAGS += -frtti APP_MODULES := cocos2dx_static cocosdenshion_shared box2d_shared game_logic_static game_static
然后,把android/jni/helloworld/Android.mk修改成下面的样子:
然后把Classes/Android.mk修改成下面的样子:(以后游戏越做越大,则可以在LOCAL_SRC_FILES里面再添加源文件即可)
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := game_logic_static
LOCAL_MODULE_FILENAME := libgame_logic
LOCAL_SRC_FILES := AppDelegate.cpp \
HelloWorldScene.cpp
LOCAL_C_INCLUDES := $(LOCAL_PATH)/../libs/cocos2dx \
$(LOCAL_PATH)/../libs/cocos2dx/platform \
$(LOCAL_PATH)/../libs/cocos2dx/include \
$(LOCAL_PATH)/../libs/Box2D/ \
LOCAL_STATIC_LIBRARIES := png_static_prebuilt
LOCAL_STATIC_LIBRARIES += xml2_static_prebuilt
LOCAL_STATIC_LIBRARIES += jpeg_static_prebuilt
LOCAL_WHOLE_STATIC_LIBRARIES += cocos2dx_static
LOCAL_SHARED_LIBRARIES := cocosdenshion_shared
LOCAL_SHARED_LIBRARIES += box2d_shared
include $(BUILD_STATIC_LIBRARY)
$(call import-module,cocos2dx/platform/third_party/android/modules/libpng)
$(call import-module,cocos2dx/platform/third_party/android/modules/libxml2)
$(call import-module,cocos2dx/platform/third_party/android/modules/libjpeg)
然后打开终端,依次输入:
make clean ./build_native.sh
如果一切顺利,你将得到如下输出:
Gdbserver : [arm-linux-androideabi-4.4.3] libs/armeabi/gdbserver Gdbsetup : libs/armeabi/gdb.setup Install : libcocosdenshion.so => libs/armeabi/libcocosdenshion.so Install : libbox2d.so => libs/armeabi/libbox2d.so Install : libgame.so => libs/armeabi/libgame.so
相关推荐
压缩文件目录内容: AngryBird source 愤怒的小鸟Demo源代码,基于Cocos2dx C++,box2d技术。 run 可执行程序目录
这是一个如何把Xcode工具开发的Cocos2dx 游戏打包成Android程序包的详细步骤文档。
iOS Game Programming with Xcode and Cocos2d(完整版) 自己收集的
xcode cocos2d开发集成工具包,在xcode开发工具中添加cocos2d模块
cocos2d-x+lua游戏demo源码 xcode工程
Cocos2d-x 3.x游戏开发之旅教程及完整源码下载,使用最新cocos2d-x-3.14版本,在xcode7.3上已编译通过。 解决相关问题 1、解决源程序在高版本上无法编译问题 2、解决源程序中文注释部分,xcode上显示乱码问题 使用...
本人新手,查找资源较为艰难,下载无分,借此与诸多新手分享,与大家共同进步,谢谢
cocos2d-x实战 c++卷教程及完整源码下载,使用最新cocos2d-x-3.14版本,在xcode7.3上已编译通过。 解决相关问题 1、解决源程序在高版本上无法编译问题 2、解决源程序中文注释部分,xcode上显示乱码问题 3、根据书籍...
cocos2dx 运动轨迹特效源码,商业游戏必学技巧,xcode 工程,可自己加android或win32工程。
Xcode iOS11.0版本的配置包 给需要真机调试iOS11.0系统版本手机又不想升级Xcode的童鞋 为什么会有摘要必须大于100字节这种逆天的设定!!!
Jenkins项目实战之-xcode+jenkins自动化打iOS包.rar
新出的几版cocos2dx已经默认不支持xcode3.x了。 可惜我手上的机器只能安装xcode3.2.5。 无奈下将cocos2dx做了些修改,使其支持xcode3.x了。 修改过程比较麻烦,希望有耐心的同学试试。
这个扩展是一个轻量级的 MVC 框架,是为了开发移动游戏,结合使用 cocos2d-x 框架而开发一个轻量级的框架。 什么是 MVCS? - M 就是 Model 层,存储数据的地方,只提供2种接口,gets 和 sets 接口。 - V 就是 View ...
Xcode5&4.6.3 + iOS 7&6免证书开发+真机调试+生成ipa+ipa的安装全攻略
cocos2d-x横版格斗源码。完整xcode工程,敌人ai lua实现。
这是一本教你如何用Xcode5与Cocos2D开发游戏的书 此版本为完整版 并非试读版
资源为教学视频,有iOS基础熟悉XCode基本上不难学会,主要讲了一些Cocos2d游戏开发引擎中的一些具体调用
cocos2d-x高级教程里的 捕鱼达人源码 IOS ANDORID WP8 分XCODE源码 跟WIN源码
临时解决方案:因为libstdc++/libstdc++.6/libstdc++.6.0.9是从Xcode10,ios12开始移除的,所以可以从Xcode之前版本(如Xcode9.4.1)的Xcode中复制迁移到Xcode10中,开发者只需要将Xcode9.4.1中的真机和模拟器两个...
cocos2dx 的 数字滚动特效源码 ,xcode 环境编译