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

原来的:

  1. LOCAL_PATH := $(call my-dir)
  2. include $(CLEAR_VARS)
  3. $(call import-add-path,$(LOCAL_PATH)/../../cocos2d)
  4. $(call import-add-path,$(LOCAL_PATH)/../../cocos2d/external)
  5. $(call import-add-path,$(LOCAL_PATH)/../../cocos2d/cocos)
  6. LOCAL_MODULE := cocos2dcpp_shared
  7. LOCAL_MODULE_FILENAME := libcocos2dcpp
  8. LOCAL_SRC_FILES := hellocpp/main.cpp \
  9. ../../Classes/AppDelegate.cpp \
  10. ../../Classes/HelloWorldScene.cpp
  11. LOCAL_C_INCLUDES := $(LOCAL_PATH)/../../Classes
  12. LOCAL_WHOLE_STATIC_LIBRARIES := cocos2dx_static
  13. LOCAL_WHOLE_STATIC_LIBRARIES += cocosdenshion_static
  14. # LOCAL_WHOLE_STATIC_LIBRARIES += box2d_static
  15. # LOCAL_WHOLE_STATIC_LIBRARIES += cocosbuilder_static
  16. # LOCAL_WHOLE_STATIC_LIBRARIES += spine_static
  17. # LOCAL_WHOLE_STATIC_LIBRARIES += cocostudio_static
  18. # LOCAL_WHOLE_STATIC_LIBRARIES += cocos_network_static
  19. # LOCAL_WHOLE_STATIC_LIBRARIES += cocos_extension_static
  20. include $(BUILD_SHARED_LIBRARY)
  21. $(call import-module,.)
  22. $(call import-module,audio/android)
  23. # $(call import-module,Box2D)
  24. # $(call import-module,editor-support/cocosbuilder)
  25. # $(call import-module,editor-support/spine)
  26. # $(call import-module,editor-support/cocostudio)
  27. # $(call import-module,network)
  28. # $(call import-module,extensions)

修改后的

  1. LOCAL_PATH := $(call my-dir)
  2. include $(CLEAR_VARS)
  3. LOCAL_MODULE := cocos2djs_shared
  4. LOCAL_MODULE_FILENAME := libcocos2djs
  5. #traverse all the directory and subdirectory
  6. define walk
  7. $(wildcard $(1)) $(foreach e, $(wildcard $(1)/*), $(call walk, $(e)))
  8. endef
  9. #traverse Classes Directory
  10. ALLFILES = $(call walk, $(LOCAL_PATH)/../../Classes)
  11. FILE_LIST := hellojavascript/main.cpp \
  12. FILE_LIST += $(filter %.cpp, $(ALLFILES))
  13. FILE_INCLUDES := $(shell find $(LOCAL_PATH)/../../Classes -type d)
  14. LOCAL_SRC_FILES := $(FILE_LIST:$(LOCAL_PATH)/%=%)
  15. LOCAL_C_INCLUDES := $(FILE_INCLUDES) \
  16. LOCAL_WHOLE_STATIC_LIBRARIES := cocos_jsb_static
  17. LOCAL_WHOLE_STATIC_LIBRARIES += jsb_chipmunk_static
  18. LOCAL_WHOLE_STATIC_LIBRARIES += jsb_extension_static
  19. LOCAL_WHOLE_STATIC_LIBRARIES += jsb_localstorage_static
  20. LOCAL_WHOLE_STATIC_LIBRARIES += jsb_ui_static
  21. LOCAL_WHOLE_STATIC_LIBRARIES += jsb_studio_static
  22. LOCAL_WHOLE_STATIC_LIBRARIES += jsb_network_static
  23. LOCAL_WHOLE_STATIC_LIBRARIES += jsb_builder_static
  24. LOCAL_WHOLE_STATIC_LIBRARIES += jsb_spine_static
  25. LOCAL_EXPORT_CFLAGS := -DCOCOS2D_DEBUG=2 -DCOCOS2D_JAVASCRIPT
  26. include $(BUILD_SHARED_LIBRARY)
  27. $(call import-module,bindings)
  28. $(call import-module,bindings/manual/chipmunk)
  29. $(call import-module,bindings/manual/extension)
  30. $(call import-module,bindings/manual/localstorage)
  31. $(call import-module,bindings/manual/network)
  32. $(call import-module,bindings/manual/cocosbuilder)
  33. $(call import-module,bindings/manual/ui)
  34. $(call import-module,bindings/manual/cocostudio)
  35. $(call import-module,bindings/manual/spine)

Windows 下要安装 CYWin

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

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

一次搞定cocos2d-x的 Android.mk 文件的更多相关文章

  1. Android.mk 文件语法详解

    0. Android.mk简介: Android.mk文件用来告知NDK Build 系统关于Source的信息. Android.mk将是GNU Makefile的一部分,且将被Build Syst ...

  2. Android.mk 文件语法详解 转:http://blog.sina.com.cn/s/blog_602f8770010148ce.html

    0. Android.mk简介: Android.mk文件用来告知NDK Build 系统关于Source的信息. Android.mk将是GNU Makefile的一部分,且将被Build Syst ...

  3. Android JNI的Android.mk文件语法详解

    Android.mk简介: Android.mk文件用来告知NDK Build 系统关于Source的信息. Android.mk将是GNU Makefile的一部分,且将被Build System解 ...

  4. 使用cocostudio 需要在Android.mk文件的配置

    直接贴上Android.mk文件吧. 对了,是cocos2d3.0的,不知道2.x是否一样. LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) LO ...

  5. cocos2d-x 3.0 引用第三方库 及编译成apk时android mk文件写法

    cocos2d-x 3.0 中.假设你须要使用CocosStudio.Extensions扩展库 等等.都须要自己手动加入. 加入过程例如以下:(比方说如今我要加入libExtensions,libC ...

  6. cocos2d-x避免手动修改android.mk文件来编译

    编辑android.mk文件,替换为如下内容 LOCAL_PATH := $(call my-dir) LOCAL_PATH := $(call my-dir) include $(CLEAR_VAR ...

  7. android.mk文件里的通配符

    比方你有如下目录,要编译Classes目录和Code目录下所有cpp src |-android.mk |-Classes |-A.cpp |-B.cpp |-....cpp |-Code |-E.c ...

  8. Android.mk文件语法规范 原文

    序言:------------- 此文档旨在描述Android.mk文件的语法,Android.mk文件为Android NDK(原生开发)描述了你C/C++源文件.为了明白下面的内容,你必须已经阅读 ...

  9. Android NDK开发之Android.mk文件

    Android NDK开发指南---Android.mk文件 博客分类: Android NDK开发指南   Android.mk文件语法详述 介绍: ------------ 这篇文档是用来描述你的 ...

随机推荐

  1. pthread 简要使用指南

    http://www.2cto.com/kf/201208/151995.html http://www.2cto.com/kf/201208/151997.html

  2. Spring 之 控制反转(IoC), 依赖注入(DI)和面向切面(AOP)

    关于依赖注入, 这篇博文写的非常简单易懂. https://github.com/android-cn/blog/tree/master/java/dependency-injection 此外, 博 ...

  3. Jquery对select的操作(附日历天数变化代码)

    转载请注明出处. 逃不开传统的四种操作:增.删.改.查. <四处搜刮了jquery对select操作的代码,汇集一下,方便以后查看.日历天数变化代码为原创.> [增]: $("# ...

  4. poj 2074 Line of Sight 计算几何

    /** 大意:给定一个建筑--水平放置,给定n个障碍物, 给定一条街道,从街道上能看到整个建筑的最长的连续的区域 思路: 分别确定每一个障碍物所确立的盲区,即----建筑物的终点与障碍物的起点的连线, ...

  5. 前端笔试题2 JS部分

    笔试题2 var EventME = {}; EventME.addHandle = function(ele, eventName, handleFunction) { if (ele.addEve ...

  6. 10,随机等概率的输出m个不重复的数

    今天看到一段代码,可以从0.....n-1中随机等概率的输出m个不重复的数(n远远大于m).遂记录下来. 首先,产生随机数,不免要用到srand,rand函数.先简单介绍下两个函数. 1,void s ...

  7. mfc删除标题和边框

    //删除标题和边框WS_CAPTION和WS_BORDER风格 ModifyStyle(WS_CAPTION, 0);ModifyStyle(WS_BORDER, 0);

  8. Flex TextInput的restrict属性应用

    1,<mx:TextInput id="test_ti" width="160" maxChars="20" restrict=&qu ...

  9. Scrambled Polygon(凸多边形,斜率)

    Scrambled Polygon Time Limit: 1000MS   Memory Limit: 30000K Total Submissions: 7805   Accepted: 3712 ...

  10. NSDate conversion utilities

    // Gets UTC NSDate from DateTime(.Net/WCF). + (NSDate *)fromDateTime:(NSString *)dateTime { NSDate * ...