coco2d-x android

本文详细介绍了如何使用Cocos2d-x进行游戏移植,包括Linux环境下NDK的搭建、核心Android.mk文件的编写及Java代码调用本地库的具体步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 移植步骤 :

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 := $(call my-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_shared box2d_shared

 

include $(BUILD_SHARED_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)

4) Classes/Android.mk

LOCAL_PATH := $(call my-dir)

 

include $(CLEAR_VARS)

 

LOCAL_MODULE := game_logic_static

 

LOCAL_MODULE_FILENAME := libgame_logic

 

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

cppfilestemp1 := $(shell find $(LOCAL_PATH)/../src -type d)

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

cppfilestemp3 := $(sort $(cppfilestemp2))

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

 

 

cppfilestemp111 := $(shell find $(LOCAL_PATH)/../lib_json -type d)

cppfilestemp222 := $(shell find $(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_shared 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)

 

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))

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值