android.mk

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的项目)
posted @ 2020-02-11 21:29  noall  阅读(153)  评论(0)    收藏  举报