在vendor目录里创建一个目录作为供应商代码,然后添加自己模块,编写代码,Android.mk代码如下:
LOCAL_PATH := $(call my-dir)
# 清除以前的变量配置
include $(CLEAR_VARS)
# 模块的名称(生成的库名或二进制文件名)
LOCAL_MODULE := mymodule
# 头文件搜索路径
LOCAL_C_INCLUDES := $(LOCAL_PATH)/include
# 源代码文件
# LOCAL_SRC_FILES := src/book.cpp \
src/main.cpp
# LOCAL_SRC_FILES := $(wildcard $(LOCAL_PATH)/src/*.cpp)
# 先得到所有文件的绝对路径
MY_SRC_FILES := $(wildcard $(LOCAL_PATH)/src/*.cpp)
# 去除 $(LOCAL_PATH) 前缀,只保留相对路径
MY_SRC_FILES := $(patsubst $(LOCAL_PATH)/%,%,$(MY_SRC_FILES))
# 把相对路径赋给 LOCAL_SRC_FILES
LOCAL_SRC_FILES := $(MY_SRC_FILES)
# 编译规则
include $(BUILD_EXECUTABLE)
注意,Android.mk使用相对路径,如果是写成LOCAL_SRC_FILES := $(wildcard $(LOCAL_PATH)/src/*.cpp)在运行mma编译时就会报错。