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. 控制所生成的servlet的结构: JSP page指令

    在JSP中,主要有3种类型的指令:page, include和taglib.page指令允许我们通过类的导入.servlet超类的定制.内容类型的设置.以及诸如此类的事物来控制servlet的结构.p ...

  2. JavaScript 堆

    1.IE中不兼容ajax中data最后一个参数加逗号,其余chrome Firefox均支持. code: $("document ").ready(function() { $( ...

  3. win7 64位 TortoiseSVN-1.8.4客户端安装

    下载地址链接:http://pan.baidu.com/s/1nukeBVz 密码:tc79 (32 64位都有,注意区分) next一路安装 安装好后,在需要和服务器同步的文件夹图标上--鼠标右键- ...

  4. python函数any()与all()

    any(iterable) all(iterable) any()与all()函数的区别,any是任意,而all是全部. 版本:该函数适用于2.5以上版本,兼容python3版本. any(itera ...

  5. python自学笔记(七)排序与多级排序

    一.sorted内置方法 a = [1,2,3,4] 从大到小(翻转) a = sorted(a,reverse = True) #生成新对象,不会原地修改,需要重新赋值 print a --> ...

  6. HDU 3307 Description has only two Sentences

    数学实在是差到不行了…… #include <cstdio> #include <cstring> #include <algorithm> #include &l ...

  7. Java学习之DBUtils工具的学习

    简介 commons-dbutils 是 Apache 组织提供的一个开源 JDBC工具类库,它是对JDBC的简单封装,学习成本极低,并且使用dbutils能极大简化jdbc编码的工作量,同时也不会影 ...

  8. HDU 4569 Special equations (数学题)

    题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=4569 题意:给你一个最高幂为4的一元多项式,让你求出一个x使其结果模p*p为0. 题解:f(x)%(p ...

  9. leetcode_question_67 Add Binary

    Given two binary strings, return their sum (also a binary string). For example, a = "11" b ...

  10. Eclipse快捷键 今天又学会了几个不常用的 收藏了

    1.Ctrl+e           打开所有已经打开的文件列表,当你使用Eclipse打开了N多文件的时候,需要找到一个你之前打开过                       的文件,是不是就很费 ...