cocos2d-x android

移植步骤:

1ndk环境搭建linux环境

 

2Android.mk文件的编写:

四个核心文件:

1)android/jni/Application.mk

 

 

2)android/jni/Android.mk

subdirs:=$(addprefix$(LOCAL_PATH)/../../../,$(addsuffix/Android.mk,\

cocos2dx\

CocosDenshion/android\

Box2D\

))

3)android/jni/helloworld/Android.mk文件

LOCAL_PATH:=$(callmy-dir)

 

include$(CLEAR_VARS)

 

 

LOCAL_MODULE:=helloworld_shared

 

LOCAL_MODULE_FILENAME:=libhelloworld

 

 

LOCAL_SRC_FILES:=main.cpp

 

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

 

 

 

LOCAL_STATIC_LIBRARIES:=png_static_prebuilt

LOCAL_STATIC_LIBRARIES+=xml2_static_prebuilt

LOCAL_STATIC_LIBRARIES+=jpeg_static_prebuilt

LOCAL_WHOLE_STATIC_LIBRARIES:=game_logic_static

LOCAL_WHOLE_STATIC_LIBRARIES+=cocos2dx_static

 

LOCAL_SHARED_LIBRARIES:=cocosdenshion_sharedbox2d_shared

 

include$(BUILD_SHARED_LIBRARY)

 

$(callimport-module,cocos2dx/platform/third_party/android/modules/libpng)

$(callimport-module,cocos2dx/platform/third_party/android/modules/libxml2)

$(callimport-module,cocos2dx/platform/third_party/android/modules/libjpeg)

4)Classes/Android.mk

LOCAL_PATH:=$(callmy-dir)

 

include$(CLEAR_VARS)

 

LOCAL_MODULE:=game_logic_static

 

LOCAL_MODULE_FILENAME:=libgame_logic

 

#获取制定目录下的所有的cpp文件

cppfilestemp1:=$(shellfind$(LOCAL_PATH)/../src-typed)

cppfilestemp2:=$(shellfind$(cppfilestemp1)-name*.cpp)

cppfilestemp3:=$(sort$(cppfilestemp2))

cppfiles:=$(subst$(LOCAL_PATH)/,,$(cppfilestemp3))

 

 

cppfilestemp111:=$(shellfind$(LOCAL_PATH)/../lib_json-typed)

cppfilestemp222:=$(shellfind$(cppfilestemp111)-name*.cpp)

cppfilestemp333:=$(sort$(cppfilestemp222))

 

cppfilesss:=$(subst$(LOCAL_PATH)/,,$(cppfilestemp333))

 

 

LOCAL_SRC_FILES:=\

AppDelegate.cpp\

GLES-Render.cpp\

$(cppfiles)\

$(cppfilesss)

 

 

LOCAL_C_INCLUDES:=$(LOCAL_PATH)\

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

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

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

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

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

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

$(LOCAL_PATH)/../lib_json/include

 

 

LOCAL_STATIC_LIBRARIES+=xml2_static_prebuilt

LOCAL_STATIC_LIBRARIES+=jpeg_static_prebuilt

LOCAL_WHOLE_STATIC_LIBRARIES+=cocos2dx_static

 

LOCAL_SHARED_LIBRARIES:=cocosdenshion_sharedbox2d_shared

 

include$(BUILD_STATIC_LIBRARY)

 

$(callimport-module,cocos2dx/platform/third_party/android/modules/libpng)

$(callimport-module,cocos2dx/platform/third_party/android/modules/libxml2)

$(callimport-module,cocos2dx/platform/third_party/android/modules/libjpeg)

 

3java代码调用:

 

static{

System.loadLibrary("cocosdenshion");

System.loadLibrary("box2d");

System.loadLibrary("helloworld");

}

 

 

 

☞:LOCAL_SRC_FILES += $(subst $(LOCAL_PATH)/,,$(shell find $(LOCAL_PATH)/../../../Classes -name "*.cpp" -print))

 

 

 

猜你喜欢

转载自yangbinfx.iteye.com/blog/1768408