cocos2d-x 打 android 包时要修改 Android.mk 文件,但每次修改很麻烦,如果源文件很多的话就坑死了,也可以写一个脚本来自动生成这个文件,但每次还要重新生成一下,将其修改下面的的样子可以一劳永逸
原来的:
- LOCAL_PATH := $(call my-dir)
- include $(CLEAR_VARS)
- $(call import-add-path,$(LOCAL_PATH)/../../cocos2d)
- $(call import-add-path,$(LOCAL_PATH)/../../cocos2d/external)
- $(call import-add-path,$(LOCAL_PATH)/../../cocos2d/cocos)
- LOCAL_MODULE := cocos2dcpp_shared
- LOCAL_MODULE_FILENAME := libcocos2dcpp
- LOCAL_SRC_FILES := hellocpp/main.cpp
- ../../Classes/AppDelegate.cpp
- ../../Classes/HelloWorldScene.cpp
- LOCAL_C_INCLUDES := $(LOCAL_PATH)/../../Classes
- LOCAL_WHOLE_STATIC_LIBRARIES := cocos2dx_static
- LOCAL_WHOLE_STATIC_LIBRARIES += cocosdenshion_static
- # LOCAL_WHOLE_STATIC_LIBRARIES += box2d_static
- # LOCAL_WHOLE_STATIC_LIBRARIES += cocosbuilder_static
- # LOCAL_WHOLE_STATIC_LIBRARIES += spine_static
- # LOCAL_WHOLE_STATIC_LIBRARIES += cocostudio_static
- # LOCAL_WHOLE_STATIC_LIBRARIES += cocos_network_static
- # LOCAL_WHOLE_STATIC_LIBRARIES += cocos_extension_static
- include $(BUILD_SHARED_LIBRARY)
- $(call import-module,.)
- $(call import-module,audio/android)
- # $(call import-module,Box2D)
- # $(call import-module,editor-support/cocosbuilder)
- # $(call import-module,editor-support/spine)
- # $(call import-module,editor-support/cocostudio)
- # $(call import-module,network)
- # $(call import-module,extensions)
修改后的
- LOCAL_PATH := $(call my-dir)
- include $(CLEAR_VARS)
- LOCAL_MODULE := cocos2djs_shared
- LOCAL_MODULE_FILENAME := libcocos2djs
- #traverse all the directory and subdirectory
- define walk
- $(wildcard $(1)) $(foreach e, $(wildcard $(1)/*), $(call walk, $(e)))
- endef
- #traverse Classes Directory
- ALLFILES = $(call walk, $(LOCAL_PATH)/../../Classes)
- FILE_LIST := hellojavascript/main.cpp
- FILE_LIST += $(filter %.cpp, $(ALLFILES))
- FILE_INCLUDES := $(shell find $(LOCAL_PATH)/../../Classes -type d)
- LOCAL_SRC_FILES := $(FILE_LIST:$(LOCAL_PATH)/%=%)
- LOCAL_C_INCLUDES := $(FILE_INCLUDES)
- LOCAL_WHOLE_STATIC_LIBRARIES := cocos_jsb_static
- LOCAL_WHOLE_STATIC_LIBRARIES += jsb_chipmunk_static
- LOCAL_WHOLE_STATIC_LIBRARIES += jsb_extension_static
- LOCAL_WHOLE_STATIC_LIBRARIES += jsb_localstorage_static
- LOCAL_WHOLE_STATIC_LIBRARIES += jsb_ui_static
- LOCAL_WHOLE_STATIC_LIBRARIES += jsb_studio_static
- LOCAL_WHOLE_STATIC_LIBRARIES += jsb_network_static
- LOCAL_WHOLE_STATIC_LIBRARIES += jsb_builder_static
- LOCAL_WHOLE_STATIC_LIBRARIES += jsb_spine_static
- LOCAL_EXPORT_CFLAGS := -DCOCOS2D_DEBUG=2 -DCOCOS2D_JAVASCRIPT
- include $(BUILD_SHARED_LIBRARY)
- $(call import-module,bindings)
- $(call import-module,bindings/manual/chipmunk)
- $(call import-module,bindings/manual/extension)
- $(call import-module,bindings/manual/localstorage)
- $(call import-module,bindings/manual/network)
- $(call import-module,bindings/manual/cocosbuilder)
- $(call import-module,bindings/manual/ui)
- $(call import-module,bindings/manual/cocostudio)
- $(call import-module,bindings/manual/spine)
Windows 下要安装 CYWin
参考子龙大大的 Android.mk 文件