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. Linux新手笔记 sudo

    centos 6.4 32bit 你是也像我一样,厌烦了在root用户和个人用户之间来回切换.或者干脆直接用root用户.可以这样设置,然后在命令前加sudo 即可使用自己到密码,临时用root身份执 ...

  2. ajax_异步交互-get/post方式

    Ajax的异步交互: 客户端向服务器端发送请求,直到服务器端进行响应,这个过程中,用户可以做任何其他事情(不等). 实现Ajax的异步交互步骤(举例说明): get方式: 1.创建XMLHttpReq ...

  3. javamail发送二进制流附件的问题

    最近做个邮件发送功能,要内嵌图片并有附件. 需求很奇怪,图片和附件文件是放在ftp服务器上的,查了下javamail的文档. 添加附件方法如下 MimeBodyPart messageBodyPart ...

  4. ForeignKey.on_delete

    当由一个 ForeignKey 引用的对象被删除,默认情况下,Django模拟SQL的 ON DELETE CASCADE 来删除对象的 ForeignKey 关系.这样可以覆盖指定的 on_dele ...

  5. Qt socket中怎么传结构体?

    直接发送和接收结构体,例如:struct A {...};struct A objectA; 发送的时候: tcpSocket->write((char *)&objectA, size ...

  6. powershell 生成随机用户信息

    #生成随机用户信息,包括姓名.QQ.邮箱,手机号 $nameArr=@('一','丁','三','专','世','业','丝','中','丰','临','丹','丽','举','乃','义', '乐' ...

  7. COBOL学习

    COBOL概述 什么是COBOL语言:            COBOL是Common Business Oriented Language的缩写,是面向商业通用编程语言.它是专门为商业数据处理而设计 ...

  8. 浅谈CSS布局

    在No.4中谈及了下盒子模型,引出布局模型 1.布局模型有三类: 1)流动模型  flow(默认) 2)浮动模型  float 3)层模型  layer 2.文档流 :指的是文本沿着从左到右的方向展开 ...

  9. C#基础面试

    1. 简述Private.Protected.Public.Internal 等访问修饰符的访问权限问题 Private:私有成员,只有类的内部成员可以访问 Protected:保护成员,在类的内部和 ...

  10. SQL Server验证的两种方式

    1.Windows身份验证:本机连接或者受信的局域网连接(一般在忘记管理员密码或者做系统配置的情况下使用). 2.SQLServer验证:使用用户名.密码验证(推荐使用). 启用方法:以Windows ...