参考文章1:[原创]编写Android.mk中的LOCAL_SRC_FILES的终极技巧
参考文章2:Eclipse Cocos2d-x 开发自动管理
在对cocos2dx项目移植到Android平台时,经常需要手动配置Android.mk文件,这里根据以上两篇文章(尤其是第一篇文章,讲的很详细),自己实现避免手动配置Android.mk的配置。
先看看修改后的Android.mk文件配置:
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := game_shared
LOCAL_MODULE_FILENAME := libgame
#获取cpp所在路径
MY_CPP_PATH := $(LOCAL_PATH)/../../Classes
#过滤出所有的cpp文件
MY_CPP_LIST := $(wildcard $(MY_CPP_PATH)/*.cpp)
#在日志中打印出MY_CPP_LIST变量
$(warning $(MY_CPP_LIST))
#前面我们获取的文件都是以jni开头的,,而真正编译所需要的文件都应该是直接从jni目录开始的,,所以我们使用模式替换把所有文件名前面的jni/去掉
LOCAL_SRC_FILES := $(MY_CPP_LIST:$(LOCAL_PATH)/%=%)
LOCAL_C_INCLUDES := $(LOCAL_PATH)/../../Classes
$(call import-add-path,D:/cocos2d-2.0-x-2.0.4)
LOCAL_WHOLE_STATIC_LIBRARIES := cocos2dx_static cocosdenshion_static cocos_extension_static
include $(BUILD_SHARED_LIBRARY)
$(call import-module,CocosDenshion/android) \
$(call import-module,cocos2dx) \
$(call import-module,extensions)
文中已经添加了详细的注释,大家可以参考下。