在 Gradle 6.1.1 上,如何为 android 项目添加 sourceSets?
其他问题的答案不再有效,getByName("name")
返回错误,SourceSet with name 'main' not found。
官方文档说要用
sourceSets {
main {
java {
srcDir("thirdParty/src/main/java")
}
}
}
但是,有20多个main必须导入,我不确定哪个是正确的。
最佳答案
我正在使用 gradle 6.5.1,但是文档建议,这也应该适合你,试试:
sourceSets {
named("main") {
java.srcDir("../buildSrc/src/main/java")
}
}
它也适用于构建类型(调试/发布)、风格等。
这样做的原因是 groovy 可以以某种方式解释自己并知道 main
等等,但是在 gradle kts 上,你使用 named
调用它对于已经存在的,或 getByName
, create
等等。
类似的情况是implement
和 api
在 groovy 中你可以只使用 implementationDebug
仅为调试版本附加它,但在 kotlin dsl 中,您必须将其作为字符串调用 "implementationDebug"
, 因为没有这个功能
----- 附言-----
如果named
, getByName
不适合你,然后尝试使用 findByName
进行试验和 create
关于android - Kotlin DSL 添加新的 sourceSet,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63898030/