【问题标题】:Copy multiple txt files in /system using Android.mk使用 Android.mk 复制 /system 中的多个 txt 文件
【发布时间】:2013-01-01 01:37:09
【问题描述】:

目标:我想使用 Android.mk 将 多个 txt 文件复制到 /system(Android 设备)中

我的发现:

我们可以使用两种方法复制文件 1) 使用 PRODUCT_COPY_FILES。这是从 devices/ / makefile.mk 完成的

例如:

PRODUCT_COPY_FILES := \
  frameworks/base/data/etc/telephony.gsm.xml:system/etc/permissions/telephony.gsm.xml \
  some/other/sourc/file:some/destination \
  some/other/sourcefile2: some/destination

2) 使用 BUILD_PREBUILD

前:

##############copy txt file##################
include $(CLEAR_VARS)
#LOCAL_MODULE := mydata.txt
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE_CLASS := ETC
LOCAL_MODULE_PATH := $(TARGET_OUT)/myfolder
LOCAL_SRC_FILES := mydata.txt
include $(BUILD_PREBUILT)

为使上述工作在 build/target/product/core.mk 中输入 mydata.txt

我的具体查询是: 现在我可以通过重写上面的代码使用第二种方法复制多个文件 一个接一个地。但我想使用第二种方法(BUILD_PERBUILD)复制多个 txt 文件,而无需为所有文件重写代码。

1) 我可以通过一个 include $(BUILD_PREBUILT) 调用来做到这一点吗?

2 )BUILD_MULTI_PREBUILD 可以用来解决目的吗?如何 ?

【问题讨论】:

    标签: android android-ndk makefile android-source


    【解决方案1】:

    好的,我发现了一个 hack(我知道它存在),我并没有在寻找它,但它确实有效 并以非常简单的方式解决了我的问题。

    您可以在 mk 文件中运行 shell 命令。

    因此,如果您想一次性复制多个文件,请使用以下代码并将其放入您的 mk 文件中。

    在以下场景中,我需要复制的文件存在于 file_folder ( directory ) 中,该目录与我的 mk 文件所在的目录相同。我想将 file_folder 中存在的所有文件复制到 system/file_folder。

    #create a directory in /system/
        $(shell mkdir -p $(TARGET_OUT)/file_folder/)
    #copy stuff
        $(shell cp $(LOCAL_PATH)/file_folder/* `pwd`/$(TARGET_OUT)/file_folder/)
    

    这很好用。所以现在我们总共有 3 种方法可以做到这一点。希望它能帮助像我这样的人。

    【讨论】:

      【解决方案2】:

      请参阅以下 Android 字体处理示例: https://android.googlesource.com/platform/frameworks/base/+/master/data/fonts/Android.mk#66

      这将为单个字体文件创建一个 makefile 函数,并使用 foreach 循环遍历多个文件: https://android.googlesource.com/platform/frameworks/base/+/master/data/fonts/Android.mk#79

      您可以使用任何机制来填充 font_src_files

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-02-23
        • 1970-01-01
        相关资源
        最近更新 更多