cocos2dx android mk 2.0.2编译文件目录以及导入库问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了cocos2dx android mk 2.0.2编译文件目录以及导入库问题相关的知识,希望对你有一定的参考价值。


今天编了个2.0.2的游戏到android平台上,麻烦是一大堆啊!
这里,我贴出解决方案,你要是用2.0.2的话直接按照我说的来就好了,期间一步步出现的东西太繁琐,不便一一详述:
首先看Android.mk文件,之前1.x的版本的时候这个文件在class里面,到了2.0.2的时候他到了proj.android\\jni这个下面,大家注意。但是2.0.3的时候就已经不需要处理Android.mk文件了,现在贴出Android.mk文件:

LOCAL_PATH := $(call my-dir)


include $(CLEAR_VARS)


LOCAL_MODULE := game_shared


#LOCAL_MODULE_FILENAME := libgame


LOCAL_SRC_FILES := hellocpp/main.cpp \\

../../Classes/AppDelegate \\

../../Classes/BodyObject.cpp \\

../../Classes/FDBody.cpp \\

../../Classes/GB2ShapeCache-x.cpp \\

../../Classes/GLES-Render.cpp \\

../../Classes/HelloWorldScene.cpp \\

../../Classes/PhysicsLayer.cpp \\

../../Classes/PhysicsSprite.cpp \\

../../Classes/TextField.cpp \\

../../Classes/ToyMenuSprite.cpp


LOCAL_C_INCLUDES := $(LOCAL_PATH)/../../Classes \\

$(LOCAL_PATH)/../../../cocos2dx \\

$(LOCAL_PATH)/../../../cocos2dx/platform \\

$(LOCAL_PATH)/../../../cocos2dx/include \\

$(LOCAL_PATH)/../../../cocosDension/include


LOCAL_WHOLE_STATIC_LIBRARIES := cocos2dx_static cocosdenshion_static cocos_extension_static box2d_static


include $(BUILD_SHARED_LIBRARY)


$(call import-module,CocosDenshion/android) \\

$(call import-module,cocos2dx) \\

$(call import-module,extensions) \\

$(call import-module,external/Box2D)


期间,多了box2d,你要是正常编译会报Box2D/Box2D.h找不到,这时候你需要处理:$(call import-module,external/Box2D) 和 box2d_static,今天从群里问了什么要单独引用第三方的包啊!等等,那样太麻烦,贴出这种方法供大家使用
还有一个就是#LOCAL_MODULE_FILENAME := libgame这个要注释起来,否则会报错,具体是什么我忘记了。【补充:今天看了看,是game_shared库找不到】
最后一个错误就是包game库什么的找不到,体现是你一运行程序就崩溃,这是你将项目src下面一个文件下的
System.loadLibrary("game");
改为
System.loadLibrary("game_shared");
ok,具备了这些,2dx–2.0.2编译到android下面就没什么问题了。

以上是关于cocos2dx android mk 2.0.2编译文件目录以及导入库问题的主要内容,如果未能解决你的问题,请参考以下文章

cocos2dx C++如何使用cygwin去编译cocos2dx项目中的C++文件

Cocos2dx开发游戏移植到Android平台

sublime_text 2.0.2 绑定cocos2dx lua 开发游戏

cocos2dx android 代码混淆

cocos2dx android 代码混淆

使用cocos2dx移植 android平台,怎么收集崩溃日志