Android提供了Perbuilt编译方式,处理已经编译好的库或配置文件
Perbuilt:针对独立文件的操作。
Multi_Perbuilt:针对多个文件,对多个文件进行判断,调用Prebuilt依次处理。
上面的就是copy usb_modeswitch.conf 文件到 OUT 下面的 etc目录,这个目录常用来存放配置相关文件。
bash
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS) \
LOCAL_MODULE := usb_modeswitch.conf \
LOCAL_MODULE_CLASS := ETC \
LOCAL_MODULE_PATH := $(TARGET_OUT)/etc \
LOCAL_SRC_FILES :=$(LOCAL_MODULE) \
include $(BUILD_PREBUILT)
bash
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
# Module name should match apk name to be installed.
LOCAL_MODULE := LocalModuleName
LOCAL_SRC_FILES := $(LOCAL_MODULE).apk
LOCAL_MODULE_CLASS := APPS
LOCAL_MODULE_SUFFIX := $(COMMON_ANDROID_PACKAGE_SUFFIX)
include $(BUILD_PREBUILT)
参数解释
这里为Prebuilt,不考虑编译源文件的情况。
LOCAL_MODULE : 拷贝后的文件名
LOCAL_MODULE_PATH : 拷贝的路径
LOCAL_SRC_FILES : 源文件
LOCAL_MODULE_CLASS : APPS(apk文件)、SHARED_LIBRARIES (lib)、EXECUTABLES(bin)、ETC(其他文件)
LOCAL_MODULE_TAGS:在什么情况下去编译模块。当前模块所包含的标签,默认optional
user : 模块只在user下编译
eng : 模块在eng模式下编译
tests: test状态下编译
optional: 此模块在所有版本下都编译
REF:
【Android 】Prebuilt预编译_android prebuilt_林多的博客-CSDN博客
Android.mk 小细节(LOCAL_CFLAGS 、BUILD_PREBUILT)_include $(build_prebuilt)_kc专栏的博客-CSDN博客