首页 > 解决方案 > 更改 Kotlin .class 输出目录

问题描述

目前,Kotlin 正在将 .class 文件编译到与 Java 不同的输出目录中:

爪哇:

<module>/build/intermediates/classes/<flavor>/<buildType>

科特林:

<module>/build/tmp/kotlin-classes/<buildVariant>

这让我对一些后期编译任务感到头疼。您如何配置 Kotlin 以将类文件生成到不同的目录中?

标签: androidgradlekotlin

解决方案


以下应该是您正在寻找的内容。请记住,您必须引用正确的源集。

gradle.build:

sourceSets {
  main {
    //if you truly want to override the defaults:
    output.resourcesDir = file('out/bin')
    // Compiled Java classes should use this directory
    java.outputDir = file('out/bin')
  }
}

这里的另一个好处是通过 gradle 指向 kotlin/java 源目录,例如:

sourceSets {
    main.kotlin.srcDirs += 'src/main/myKotlin'
    main.java.srcDirs += 'src/main/myJava'
}

当然,这些可以组合在一个 sourceSet 块中

来源: https ://docs.gradle.org/current/dsl/org.gradle.api.tasks.SourceSetOutput.html


推荐阅读