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. java 汉字转拼音

    先决条件: pinyin4j.jar(Pinyin4j是一个流行的Java库,支持中文字符和拼音之间的转换.拼音输出格式可以定制.) 下载地址:http://pan.baidu.com/share/l ...

  2. 解决 Tomcat reload WARNING [localhost-startStop-2] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesJdbc The web application [] registered the JDBC driver [com.mysql.jdbc.Driver] but fail

    转自:http://www.cnblogs.com/interdrp/p/5632529.html 我的错误如下: 06-Sep-2016 18:57:10.595 WARNING [localhos ...

  3. Session累计用户数据列表

    OrderForm.html <body>  <center>  <h1 ><font size="20">Order Items& ...

  4. Stack(栈)

    Stack(栈)是一种后进先出的数据结构,下面介绍一下栈的具体运用: 一.Stack 中的 empty 函数 stack<int> s( 5 , 10) ; s.empty()  ;   ...

  5. .NET中的IO操作基础介绍

    关于IO简介 .NET中的IO操作,经常需要调用一下几个类. clipboard[] .FileStream类 文件流类,负责大文件的拷贝,读写. .Path类 Path类中方法,基本都是对字符串(文 ...

  6. jQuery.validate 中文 API

    名称 返回类型 描述 validate(options) Validator 验证所选的 FORM. valid() Boolean 检查是否验证通过. rules() Options 返回元素的验证 ...

  7. poj 3358

    /** 大意: 给定小数(p/q),求其循环节的大小和循环节开始的位置 解法: 若出现循环 ai*2^m= aj%p; 即 2^m %p =1 若2与p 互素,则可由欧拉函数的, 不互素,需将其转化为 ...

  8. linux和windows的文件互传

    Linux →→→Windows 1.使用secureCRT:下载文件只需在shell终端仿真器中输入命令"sz 文件名",即可利用Zmodem将文件下载到本地某目录下. 2. s ...

  9. 如何使用autotools生成Makefile

    安装autotools工具sudo apt-get install autoconf 一,四个代码文件init.s lcd.c addr.h uart.c 二,命令:autoscan 三,命令:vi ...

  10. centos7 install magento

    http://mirrors.yun-idc.com/epel/7/x86_64/e/epel-release-7-2.noarch.rpmrpm --import /etc/pki/rpm-gpg/ ...