Android——编译体系中的【PRODUCT_COPY_FILES】【ALL_PREBUILT】【BUILD_PREBUILT】
2017-04-27 16:32
1216 查看
转载地址:http://blog.csdn.net/jscese/article/details/40615801
可以看到 格式<source file>:<dest file> 中间用 “ : ” 隔开!
这里需要注意一点, PRODUCT_COPY_FILES 不能在 Android.mk 中使用 添加新的Copy 项!使用 PRODUCT_COPY_FILES 应该算是最常用的Copy File 的方法了,一般可直接加在 device.mk 中!
还有PRODUCT_COPY_FILES不能copy apk文件。
ALL_PREBUILT 是一种过时的机制,已经不让用于copy新的文件了,推荐使用PRODUCT_COPY_FILES !
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) 上面的就是copy usb_modeswitch.conf 文件到 OUT 下面的 etc目录,这个目录常用来存放配置相关文件。
上面所有的都说的是Copy File 但是如果需要 Copy 一个文件目录下所有就需要另做操作了!
这里我们需要把这个当成一个module来处理 写进 PRODUCT_PACKAGES, 这就代表这些Module 无论如何都会被编译安装进系统。
转载地址:http://blog.csdn.net/jscese/article/details/40615801
一.PRODUCT_COPY_FILES :
这个变量就是用来标记Copy操作的,比较常见的形式如下:#jscese cp 3g script and PRODUCT_COPY_FILES += \ $(DEVICE_SOURCES)/3g-script/ip-up-datakey:system/etc/ppp/ip-up-datakey \ $(DEVICE_SOURCES)/3g-script/ip-down-datakey:system/etc/ppp/ip-down-datakey \ $(DEVICE_SOURCES)/3g-script/init.gprs-pppd:system/etc/ppp/init.gprs-pppd \ device/sample/etc/apns-full-conf.xml:system/etc/apns-conf.xml \ #external/usb-modeswitch/usb_modeswitch.d:system/etc/usb_modeswitch.d #PRODUCT_COPY_FILES += \ #$(DEVICE_SOURCES)/3g-script/ip-down-datakey:system/etc/ppp/ip-down-datakey #end
可以看到 格式<source file>:<dest file> 中间用 “ : ” 隔开!
这里需要注意一点, PRODUCT_COPY_FILES 不能在 Android.mk 中使用 添加新的Copy 项!使用 PRODUCT_COPY_FILES 应该算是最常用的Copy File 的方法了,一般可直接加在 device.mk 中!
还有PRODUCT_COPY_FILES不能copy apk文件。
二 .copy_to copy_from ALL_PREBUILT
这个方法用在Android.mk中,可参考 /system/core/rootdir/Android.mk:copy_from += etc/init.goldfish.sh copy_to := $(addprefix $(TARGET_OUT)/,$(copy_from)) copy_from := $(addprefix $(LOCAL_PATH)/,$(copy_from)) $(copy_to) : PRIVATE_MODULE := system_etcdir $(copy_to) : $(TARGET_OUT)/% : $(LOCAL_PATH)/% | $(ACP) $(transform-prebuilt-to-target) ALL_PREBUILT += $(copy_to)
ALL_PREBUILT 是一种过时的机制,已经不让用于copy新的文件了,推荐使用PRODUCT_COPY_FILES !
三 .BUILD_PREBUILT :
这种方式把文件当成编译项目,在Android.mk中copy一个file: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) 上面的就是copy usb_modeswitch.conf 文件到 OUT 下面的 etc目录,这个目录常用来存放配置相关文件。
上面所有的都说的是Copy File 但是如果需要 Copy 一个文件目录下所有就需要另做操作了!
这里我们需要把这个当成一个module来处理 写进 PRODUCT_PACKAGES, 这就代表这些Module 无论如何都会被编译安装进系统。
相关文章推荐
- Android——编译体系中的【PRODUCT_COPY_FILES】【ALL_PREBUILT】【BUILD_PREBUILT】
- Android——编译体系中的【PRODUCT_COPY_FILES】【ALL_PREBUILT】【BUILD_PREBUILT
- Android PRODUCT_COPY_FILES导致的编译错误
- Android编译PRODUCT_COPY_FILES如果碰到重复的项目如何取值
- Android 为一个新产品作编译配置(Product Definition Files)
- Android——编译体系中的 Copy
- PRODUCT_COPY_FILES不能写到自己的Android.mk中吗?
- Android——编译体系中的 Copy
- [Android][Build]LOCAL_MODULE_TAGS和PRODUCT_PACKAGES--指定编译进Image的模块
- PRODUCT_COPY_FILES的深入理解,为何不能在Android.mk使用
- Android 为一个新产品作编译配置(Product Definition Files)
- android 编译体系中的 Copy
- Android 用PRODUCT_COPY_FILES拷贝xml文件怎么还能被检查语法问题呢?
- Android PRODUCT_COPY_FILES 自动拷贝文件
- Android 为一个新产品作编译配置(Product Definition Files)
- [笔记分享] [Build] Android编译系统源代码之product.mk
- How to build Windows Android2.3 SDK怎么编译windows下的android2.3 SDK
- Build android source code 3 -- 编译
- Android编译问题:Only 64-bit build environments are supported beyond froyo/2.2
- Android Build System ---- how to add your product and board config *.mk