android常用编译指令

  1. android常用编译指令
    1. PRODUCT_COPY_FILES 和 BUILD_PREBUILT
      1. PRODUCT_COPY_FILES
      2. BUILD_PREBUILT
    2. PODUCT_PACKAGES

android常用编译指令

PRODUCT_COPY_FILES 和 BUILD_PREBUILT

PRODUCT_COPY_FILES

PRODUCT_COPY_FILES变量主要用于执行编译前的一些拷贝操作,语法如下:

PRODUCT_COPY_FILES += \
    <source file>:<dest file>

该变量在build/make/core/product.mk脚本之后变为只读状态。
要修改该变量要在build/make/core/product.mk之前修改。
如果需要在build/make/core/product.mk之后添加拷贝可以用:

BUILD_PREBUILT

BUILD_PREBUILT 把拷贝操作当成一个项目操作,语法如下:

include $(CLEAR_VARS)
LOCAL_MODULE        := libxxx
LOCAL_MODULE_CLASS  := SHARED_LIBRARIES
LOCAL_MODULE_SUFFIX := .so
LOCAL_STRIP_MODULE  := false
LOCAL_MULTILIB      := 64
LOCAL_MODULE_OWNER  := qcom
LOCAL_MODULE_TAGS   := optional
LOCAL_SRC_FILES     := ./lib64/libxxx.so
LOCAL_MODULE_PATH   := $(PRODUCT_OUT)/$(TARGET_COPY_OUT_VENDOR)/lib64
LOCAL_PROPRIETARY_MODULE := true
include $(BUILD_PREBUILT)

异同:
PRODUCT_COPY_FILES 和 BUILD_PREBUILT都可以执行拷贝操作,不同点在于PRODUCT_COPY_FILES的拷贝在生成img时会打包进去,BUILD_PREBUILT的拷贝不会被打包,需要在PRODUCT_PACKAGES中添加local才可以。
如下:

PODUCT_PACKAGES += \
          libxxx

或者通过LOCAL_MODULE_TAGS变量在编译时动态控制。

PODUCT_PACKAGES


转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论

×

喜欢就点赞,疼爱就打赏