android - 使用Android.mk复制/系统中的多个txt文件

标签 android android-ndk makefile android-source

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

我的发现:

我们可以使用两种方法复制文件 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可以用来解决目的吗?如何 ?

最佳答案

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

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

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

在以下情况下,我需要复制的文件存在于 file_folder(目录)中,它与我的 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 种方法可以做到这一点。希望它能帮助像我这样的人。

关于android - 使用Android.mk复制/系统中的多个txt文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14380357/

相关文章:

java - android-Java- 将 WeakReference<Bitmap> 转换为普通位图

java - 基于 Jenkins 的 Gradle 构建失败

python - Makefile 无法使用 `conda activate`

android - 滚动 ListView 时 Linkify TextView 被点击

java - findFragmentByTag 不起作用

java - 将 ArrayList 值动态传递给其他 ArrayList

android - 使用 openssl 使用公钥检查数据签名

android - 在ijkplayer中构建ffmpeg

c++ - 在 eclipse、Red Hat Linux 中运行 c++ 项目时出现问题

python - 我可以运行交互式命令吗?