android.mk说明
要使用的模块名
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := 模块名(外部引用时的名字)
LOCAL_MODULE_FILENAME := 生成lib或so文件名,如果不指定就会自动生成[lib模块名]
要编译源文件
LOCAL_SRC_FILES := 源文件1 源文件2 \
LOCAL_SRC_FILES += 源文件3 源文件4
要包含头文件
LOCAL_C_INCLUDES := $(LOCAL_PATH)/include \
LOCAL_C_INCLUDES += $(LOCAL_PATH)../external/lib1/include \
要链接的静态库
LOCAL_STATIC_LIBRARIES := a.lib b.lib
LOCAL_STATIC_LIBRARIES += c.lib d.lib
要编译成库的类型
include $(BUILD_STATIC_LIBRARY) 编译成静态库
include $(BUILD_SHARED_LIBRARY) 编译成共享库
依赖其他模块
$(call import-module,模块A的android.mk路径)
$(call import-module,模块B的android.mk路径)
LOCAL_CFLAGS和LOCAL_EXPORT_CFLAGS
LOCAL_CFLAGS := -DUSE_LIB_A (使用USE_LIB_A宏)
LOCAL_EXPORT_CFLAGS :=-DUSE_LIB1 (导出USE_LIB_A宏给所有包含了LIB_A的项目)
LOCALC_INCLUDES := $(LOCAL_PATH)/include (包含include)
LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/include (导出包含include给所有包含了LIB_A的项目)