Kotlin DSL添加新的sourceSet



在Gradle 6.1.1上,如何为android项目添加sourceSet?

其他问题的答案不再有效,getByName("name")SourceSet with name 'main' not found.返回错误

官方文件称使用

sourceSets {
main {
java {
srcDir("thirdParty/src/main/java")
}
}
}

然而,有20多个主管道必须进口,我不确定哪一个是正确的。

我使用的是gradle 6.5.1,但文档建议,这也应该适用于您,请尝试:

sourceSets {
named("main") {
java.srcDir("../buildSrc/src/main/java")
}
}

它也适用于构建类型(调试/发布(、口味等。

原因是groovy可以以某种方式解释自己并知道main等,但在gradle kts上,您可以根据需要使用namedgetByNamecreate等来调用它。

类似的情况是,对于groovy中的implementapi,您只能使用implementationDebug将其附加到调试版本,但在kotlin-dsl中,您必须将其称为字符串"implementationDebug",因为没有这样的函数

-----PS-----

如果namedgetByName不适合您,请尝试使用findByNamecreate

最新更新