Platform: Rockchip
OS: Android 6.0
Kernel: 3.10.92
普通类型的多个文件拷贝:
方法一:
PRODUCT_COPY_FILES += $(call find-copy-subdir-files,*,$(LOCAL_PATH)/src_dir,system/etc/dst_dir/)
方法二:
此方法因为在source envsetup.sh之前执行,所以env不能使用,需要先创建目录。
$(shell mkdir -p ${out_dir}/dst_dir/)
$(shell cp -rf $(LOCAL_PATH)/src_dir/ ${out_dir}/dst_dir/)
预置第三方apk比较特殊,不能直接copy,可以写一个Android.mk来实现:
LOCAL_PATH := $(call my-dir)
$(foreach a, $(wildcard $(LOCAL_PATH)/*.apk), \
$(eval include $(CLEAR_VARS)) \
$(eval LOCAL_MODULE := $(a:$(LOCAL_PATH)/%.apk=%)) \
$(eval LOCAL_MODULE_CLASS := APPS) \
$(eval LOCAL_BUILT_MODULE_STEM := package.apk) \
$(eval LOCAL_CERTIFICATE := PRESIGNED) \
$(eval LOCAL_MODULE_PATH := $(TARGET_OUT_ETC)/${dst_dir}) \
$(eval LOCAL_MODULE_TAGS := optional) \
$(eval LOCAL_SRC_FILES := $(LOCAL_MODULE).apk) \
$(eval include $(BUILD_PREBUILT)) \
)
参考:
https://stackoverflow.com/questions/14380357/copy-multiple-txt-files-in-system-using-android-mk
https://stackoverflow.com/questions/14718852/adding-prebuilt-set-of-files-structured-in-folders-to-android-out-folder