代码之家  ›  专栏  ›  技术社区  ›  Gary Sheppard

如何在同步或构建期间将资源文件从其他目录复制到Android项目?

  •  2
  • Gary Sheppard  · 技术社区  · 9 年前

    问题

    当您需要在Android项目中使用资源文件(如图像)时,通常将它们放在 res 目录(例如。 res/drawable ),默认情况下,Android构建过程会获取它们。但是,如果您的资源文件来自Android项目之外的目录怎么办?如何将它们复制到文件夹中 res/drawable 在同步或生成期间?

    我觉得解决方案是编写Gradle代码,但我不确定如何做到。我在我的 app 单元 build.gradle 文件:

    task copyResources(type: Copy) {
        from '../../../images'
        into 'res/drawable'
    }
    

    但据我所知,它没有复制任何东西。这可能只是我不知道如何使用Gradle,我需要一些帮助。

    我意识到我可以从 ../../../images res/drawable ,但假设这些文件经常更改,我希望在同步或构建时自动获取当前版本。如果这是可能的,我希望知道怎么做。如果不可能,我也想知道。

    2 回复  |  直到 9 年前
        1
  •  2
  •   Community Mohan Dere    9 年前

    看见 How to run copy task with android studio into assets folder


    可以添加

    preBuild.dependsOn copyResources
    

    在你的身体里。

    但是,这不是复制资源的好方法。

        2
  •  2
  •   Jeffrey Blattman    9 年前

    一般来说,你不想这样做。原因是,它使原本是干净的源代码管理系统被复制的文件弄糊涂了。

    更好的方法是构建一个单独项目中的Android库(AAR),然后通过将该AAR作为依赖项添加到父项目中来使用它们。

    推荐文章