Android 如何从使用gradle编译中排除kotlin文件

Android 如何从使用gradle编译中排除kotlin文件,android,android-studio,gradle,kotlin,android-gradle-plugin,Android,Android Studio,Gradle,Kotlin,Android Gradle Plugin,对于Java,我们将其排除在外,如下所示: java { srcDir 'src' exclude '**/myTests/**' } 我想和科特林做同样的事情。 试图在配置kotlin的官方文档中找到一些关于此的文档,但没有成功。 我所期望的和已经尝试过的(当然没有成功): 没有与Kotlin相关的配置 我为什么这么说,, 我将所有kotlin文件放入kotlin目录,并将java文件放入java目录。但在配置时,我已经将 sourceSets { main.java.

对于Java,我们将其排除在外,如下所示:

java {
    srcDir 'src'
    exclude '**/myTests/**'
}
我想和科特林做同样的事情。 试图在配置kotlin的官方文档中找到一些关于此的文档,但没有成功。 我所期望的和已经尝试过的(当然没有成功):

没有与Kotlin相关的配置

我为什么这么说,, 我将所有kotlin文件放入kotlin目录,并将java文件放入java目录。但在配置时,我已经将

sourceSets {
   main.java.srcDirs += "src/main/kotlin"
}
这意味着使用
src/main/java
也可以在编译时从
src/main/kotlin
添加源文件


这应该可以解决您的问题。

在同一目录中是否有测试和生产代码?在这种情况下,最好按照默认项目布局拆分源目录,以将生产代码与测试代码分开@SimulantI有/src文件夹,我在其中保存/main(生产代码)和/tests。因此,在本指南中,我似乎有一个类似的结构,
**/myTests/**
的实际路径是什么?正如@Simulant所建议的,您的源代码集可能会得到优化,也可能最终不需要此配置。我刚刚指出,通过将/myTests文件夹移出/src,可以优化我的配置。因此,这将是一个解决方案,似乎我也会这样做。但我认为android kotlin插件不包含用于排除的api有点奇怪。另外,似乎还可以使用Kotlin DSL:Kotlin.sourceSets{main{Kotlin.exclude(“…”)}}exclude'/myTests/*.kt'不会从编译[FlavorName]Kotlin gradle任务中排除kt文件。另外,我有一个包含kotlin和java的混合文件夹,所以我不需要为kotlin packageSee定义dir。即使在AS 4.2中,似乎仍然无法排除文件或文件夹。谢谢,这非常有用。我们能告诉你如何在这个包旁边显示(kotlin),就像我们的(test),(androidTest)一样吗
java {
    srcDir 'src'
    exclude '**/myTests/*.kt'
}
sourceSets {
   main.java.srcDirs += "src/main/kotlin"
}