一次搞定cocos2d-x的 Android.mk 文件

cocos2d-x 打 android 包时要修改 Android.mk 文件,但每次修改很麻烦,如果源文件很多的话就坑死了,也可以写一个脚本来自动生成这个文件,但每次还要重新生成一下,将其修改下面的的样子可以一劳永逸

原来的:

 

[plain] view plaincopy在CODE上查看代码片派生到我的代码片
 
  1. LOCAL_PATH := $(call my-dir)  
  2.   
  3. include $(CLEAR_VARS)  
  4.   
  5. $(call import-add-path,$(LOCAL_PATH)/../../cocos2d)  
  6. $(call import-add-path,$(LOCAL_PATH)/../../cocos2d/external)  
  7. $(call import-add-path,$(LOCAL_PATH)/../../cocos2d/cocos)  
  8.   
  9. LOCAL_MODULE := cocos2dcpp_shared  
  10.   
  11. LOCAL_MODULE_FILENAME := libcocos2dcpp  
  12.   
  13. LOCAL_SRC_FILES := hellocpp/main.cpp \  
  14.                    ../../Classes/AppDelegate.cpp \  
  15.                    ../../Classes/HelloWorldScene.cpp  
  16.   
  17. LOCAL_C_INCLUDES := $(LOCAL_PATH)/../../Classes  
  18.   
  19. LOCAL_WHOLE_STATIC_LIBRARIES := cocos2dx_static  
  20. LOCAL_WHOLE_STATIC_LIBRARIES += cocosdenshion_static  
  21.   
  22. # LOCAL_WHOLE_STATIC_LIBRARIES += box2d_static  
  23. # LOCAL_WHOLE_STATIC_LIBRARIES += cocosbuilder_static  
  24. # LOCAL_WHOLE_STATIC_LIBRARIES += spine_static  
  25. # LOCAL_WHOLE_STATIC_LIBRARIES += cocostudio_static  
  26. # LOCAL_WHOLE_STATIC_LIBRARIES += cocos_network_static  
  27. # LOCAL_WHOLE_STATIC_LIBRARIES += cocos_extension_static  
  28.   
  29.   
  30. include $(BUILD_SHARED_LIBRARY)  
  31.   
  32. $(call import-module,.)  
  33. $(call import-module,audio/android)  
  34.   
  35. # $(call import-module,Box2D)  
  36. # $(call import-module,editor-support/cocosbuilder)  
  37. # $(call import-module,editor-support/spine)  
  38. # $(call import-module,editor-support/cocostudio)  
  39. # $(call import-module,network)  
  40. # $(call import-module,extensions)  


修改后的

 

 

[plain] view plaincopy在CODE上查看代码片派生到我的代码片
 
  1. LOCAL_PATH := $(call my-dir)  
  2.   
  3. include $(CLEAR_VARS)  
  4.   
  5. LOCAL_MODULE := cocos2djs_shared  
  6.   
  7. LOCAL_MODULE_FILENAME := libcocos2djs  
  8.   
  9.   
  10.   
  11. #traverse all the directory and subdirectory  
  12. define walk  
  13.   $(wildcard $(1)) $(foreach e, $(wildcard $(1)/*), $(call walk, $(e)))  
  14. endef  
  15.    
  16. #traverse Classes Directory  
  17. ALLFILES = $(call walk, $(LOCAL_PATH)/../../Classes)  
  18.    
  19. FILE_LIST := hellojavascript/main.cpp \  
  20. FILE_LIST += $(filter %.cpp, $(ALLFILES))  
  21.    
  22. FILE_INCLUDES := $(shell find $(LOCAL_PATH)/../../Classes -type d)  
  23.   
  24.   
  25.   
  26. LOCAL_SRC_FILES := $(FILE_LIST:$(LOCAL_PATH)/%=%)  
  27.   
  28.   
  29. LOCAL_C_INCLUDES := $(FILE_INCLUDES) \  
  30.   
  31.   
  32. LOCAL_WHOLE_STATIC_LIBRARIES := cocos_jsb_static  
  33. LOCAL_WHOLE_STATIC_LIBRARIES += jsb_chipmunk_static  
  34. LOCAL_WHOLE_STATIC_LIBRARIES += jsb_extension_static  
  35. LOCAL_WHOLE_STATIC_LIBRARIES += jsb_localstorage_static  
  36. LOCAL_WHOLE_STATIC_LIBRARIES += jsb_ui_static  
  37. LOCAL_WHOLE_STATIC_LIBRARIES += jsb_studio_static  
  38. LOCAL_WHOLE_STATIC_LIBRARIES += jsb_network_static  
  39. LOCAL_WHOLE_STATIC_LIBRARIES += jsb_builder_static  
  40. LOCAL_WHOLE_STATIC_LIBRARIES += jsb_spine_static  
  41.   
  42. LOCAL_EXPORT_CFLAGS := -DCOCOS2D_DEBUG=2 -DCOCOS2D_JAVASCRIPT  
  43.   
  44. include $(BUILD_SHARED_LIBRARY)  
  45.   
  46.   
  47. $(call import-module,bindings)  
  48. $(call import-module,bindings/manual/chipmunk)  
  49. $(call import-module,bindings/manual/extension)  
  50. $(call import-module,bindings/manual/localstorage)  
  51. $(call import-module,bindings/manual/network)  
  52. $(call import-module,bindings/manual/cocosbuilder)  
  53. $(call import-module,bindings/manual/ui)  
  54. $(call import-module,bindings/manual/cocostudio)  
  55. $(call import-module,bindings/manual/spine)  

 

Windows 下要安装 CYWin

 

参考子龙大大的 Android.mk 文件

https://gist.github.com/andyque/6060595

posted @ 2015-05-14 09:23  brave-sailor  阅读(507)  评论(0编辑  收藏  举报