cocos2d-x 3.0版本移植起来更简单了,不需要安装cygwin,也不需要编写java代码。
1. 首先编辑proj.android\jni\Android.mk,内容如下:
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := cocos2dcpp_shared
LOCAL_MODULE_FILENAME := libcocos2dcpp
# 遍历目录及子目录的函数
define walk
$(wildcard $(1)) $(foreach e, $(wildcard $(1)/*), $(call walk, $(e)))
endef
# 遍历Classes目录
ALLFILES = $(call walk, $(LOCAL_PATH)/../../Classes)
FILE_LIST := hellocpp/main.cpp
# 从所有文件中提取出所有.cpp文件
FILE_LIST += $(filter %.cpp, $(ALLFILES))
LOCAL_SRC_FILES := $(FILE_LIST:$(LOCAL_PATH)/%=%)
LOCAL_C_INCLUDES := $(LOCAL_PATH)/../../Classes
LOCAL_WHOLE_STATIC_LIBRARIES := cocos2dx_static
LOCAL_WHOLE_STATIC_LIBRARIES += cocosdenshion_static
include $(BUILD_SHARED_LIBRARY)
$(call import-module,2d)
$(call import-module,audio/android)
2. 下载NDK,并配置环境变量NDK_ROOT为NDK根目录。
3. 在proj.android目录下,按住shift+右键,打开命令提示符窗口,输入python build_native.py,编译就开始了,慢慢等待。
如果编译的时候出现:Couldn’t find the gcc toolchain,需要更新NDK,如果不用cygwin,那么3.0要求ndk-r8e以上版本才可以。
4. 编译完成后,打开eclipse,import游戏对应的android项目(proj.android)。右键-项目属性,看到引用了libcocos2dx项目,因为我已经导入了,所以上面看到是绿色的勾。
5.导入libcocos2dx项目,具体路径请查看project.properties文件,导入后效果如图:
OK,编译运行吧!