分享通用android.mk

LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)

LOCAL_MODULE := cocos2dcpp_shared

LOCAL_MODULE_FILENAME := libcocos2dcpp

遍历目录及子目录的函数

define walk
(wildcard (1)) (foreach e, (wildcard (1)/*), (call walk, $(e)))
endef

遍历Classes目录

ALLFILES = (call walk, (LOCAL_PATH)/…/…/Classes)

FILE_LIST := hellocpp/main.cpp

从所有文件中提取出所有.cpp文件

FILE_LIST += (filter %.cpp, (ALLFILES))

LOCAL_SRC_FILES := (FILE_LIST:(LOCAL_PATH)/=)

这里输出一下所有文件,看哪些扩展名需要过滤掉才是include目录

(info (ALLFILES))

从所有文件中排除所有.cpp .h .def文件(剩下的就是Classes下的所有子目录了)

LOCAL_C_INCLUDES := (filter-out %.cpp %.h %.def, (ALLFILES))

LOCAL_WHOLE_STATIC_LIBRARIES := cocos2dx_static
LOCAL_WHOLE_STATIC_LIBRARIES += cocosdenshion_static
LOCAL_WHOLE_STATIC_LIBRARIES += box2d_static

include $(BUILD_SHARED_LIBRARY)

(call import-module,2d) (call import-module,audio/android)
$(call import-module,Box2D)

备注:
查找目录不好弄
shell find -type d 不知道为什么不能用!!
有更好方法可提出交流!
以上在3.0 BETA2 测试通过!
不用每次都修改 Android.mk文件了!!