首页 > 解决方案 > SourceSets - Groovy -> Kotlin DSL

问题描述

sourceSets {
   main {
     java.srcDirs = ['src/main/kotlin', 'src/main/java']
     res.srcDirs =
       [
          'src/main/res/layouts/activity',
          'src/main/res/layouts/fragment',
          'src/main/res/layouts/dialog',
          'src/main/res/layouts/items',
          'src/main/res/layouts/views',
          'src/main/res/layouts',
          'src/main/res'
       ]
   }
}

在这里,对于java.srcDirs,我们将其转换为 kotlin DSL,例如

java.sourceSets {
    getByName("main").java.srcDirs("src/main/kotlin")
}

但我不知道如何在 gradle 中更改 DSL 中的“布局”res 文件夹代码中的子文件夹,或者不知道这是否可能?任何人都知道这是否可能,那么如何做到这一点?

我想用res.srcDirs = []DSL 编写,因为整个 Gradle 脚本都是用 kotlin DSL 编写的。

标签: androidkotlingradle-kotlin-dsl

解决方案


尝试这个

sourceSets {
    getByName("main").java.srcDirs("src/main/kotlin")
    getByName("main").res.srcDirs(
        "src/main/res/layouts/activity",
        "src/main/res/layouts/fragment",
        "src/main/res/layouts",
        "src/main/res"
    )
}

推荐阅读