【问题标题】:How to exclude all files under a directory in Gradle?如何排除 Gradle 目录下的所有文件?
【发布时间】:2016-05-17 18:36:33
【问题描述】:
packagingOptions {
 exclude 'org/apache/commons/codec/language/bm/gen_approx_portuguese.txt'
}

例如,此文件将排除 1 个文件。但是如何排除一个目录下的所有文件呢?

喜欢: org/apache/commons/codec/language/bm/
文件夹? . 不起作用:)

【问题讨论】:

  • Gradle 1.2: Exclude directory under resources sourceSets 的可能重复尽管这是源集,但它仍然与使用排除功能有关。
  • 这对我不起作用。我试过这个。打包选项和源集之间有什么区别吗?实际上它给了我很多在 APK xxxxxx 中复制的重复文件,所以我尝试排除重复文件。但是同一目录下的文件太多。所以我尝试将它们全部排除。

标签: java android gradle build.gradle


【解决方案1】:

通配符可用于对目录中的多个文件执行操作。看到这个:-

packagingOptions {
 exclude 'org/apache/commons/codec/language/bm/*'
}

你也可以排除一个文件/目录而不用这种方式指定完整路径:-

packagingOptions {
    exclude '**/language/bm/*'
}

注意:这将排除路径中的任何language/bm/

【讨论】:

    【解决方案2】:

    这适用于Kotlin DSL (build.gradle.kts) 和AGP (Android Gradle Plugin) 版本7.0.0 及更新版本:

    android {
      // ...
      packagingOptions {
        resources.excludes += "org/apache/commons/codec/language/bm/*"
        // OR
        // resources.excludes += setOf(
        //   "org/apache/commons/codec/language/bm/*"
        // )
      }
    }
    

    【讨论】:

      猜你喜欢
      • 2018-01-08
      • 2018-07-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-03-23
      • 1970-01-01
      相关资源
      最近更新 更多