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. Jquery对select的操作(附日历天数变化代码)

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

  2. winform代码:关联窗体数据更新,删除dataGridview中选中的一行或多行

    一.关联窗体数据更新 关联窗体数据修改时,如果一个为总体数据显示窗体A,另一个为详细修改窗体B,从A进入B,在B中对数据进行修改,然后返回A,这时A窗体的数据需要更新. 我采用最简单的方法,首先保证每 ...

  3. 干I​n​l​a​y​的​生​产​过​程​

    •天线的组成 天线的材料有0.38PET和0.16以及0.3的铝箔组成. 倒封装 •将IC倒装在天线焊盘位置. •方法:先点胶水, 然后把IC对准焊盘(IC一面有凸点),通过热压把IC 固定在焊盘上. ...

  4. Protel99se教程六:创建原理图元件库

    在我们平时使用protel99se进行电路以及PCB设计的时候,系统自带的元件库和PCB封装库,只有一小部分,大部份元件的元件库以及封装库,我们都需要自己制作,使用protel99se,我们可以很容易 ...

  5. qt数据库多线程问题的解决(QSqlDatabase只能在创建它的线程中使用)

    Qt数据库由QSqlDatabase::addDatabase()生成的QSqlDatabase只能在创建它的线程中使用, 在多线程中共用连接或者在另外一个线程中创建query都是不支持的几乎国内没有 ...

  6. ArcSde for Oracle服务注册

    1.首先安装ArcSde,安装完成之后在dos命令窗口运行如下命令: sdeservice -o create -d oracle,instance -p sde -i port; 参数说明: ins ...

  7. linux 中多线程使用

    /* * 对于线程之间的操作: * 一个进程中会有多个线程,各个线程之间的或向切换会付出很小的代价相比于进程之间的切换 * 为什么要引入多线程: * 1.与进程相比,他是一种非常节俭的多任务的操作方式 ...

  8. Suricata, to 10Gbps and beyond(X86架构)

    Introduction Since the beginning of July 2012, OISF team is able to access to a server where one int ...

  9. .net c# 提交包含文件file 的form表单 获得文件的Stream流

    1.前台html代码 要写一个有id的form,可是不能有runat="server"属性.由于一个页面中,有这个属性的form表单仅仅能有一个. 再要有一个有name的ifram ...

  10. SGU 202 The Towers of Hanoi Revisited (DP+递归)

    转载请注明出处,谢谢http://blog.csdn.net/ACM_cxlove?viewmode=contents    by---cxlove 题意 :n个圆盘,m个柱子的汉诺塔输出步骤. ht ...