从Gradle v4到Gradle v5更新-每种JVM语言的单独输出目录

时间:2019-05-09 16:39:49

标签: android android-studio gradle android-gradle gradle-plugin

我希望将Gradle从v4更新到v5,但在v4上收到以下警告:

  

Gradle现在为每种JVM语言使用单独的输出目录,但是   此构建为源中的所有类假定一个目录   组。此行为已被弃用,并计划将其删除   在Gradle 5.0中。

因此,我相信我需要摆脱此警告,然后才能更新到v5。问题是我不确定我要做什么。我如何对构建进行变更,以使它不会为源集中的所有类都假设一个Directroy?

我尝试将以下内容添加到build.gradle中,但仍收到警告:

sourceSets {
    main {
        // Compiled Java classes should use this directory
        java.outputDir = new File(buildDir, "classes/java/main")
    }
}

2 个答案:

答案 0 :(得分:0)

您不需要向构建脚本中添加任何内容。您只需要组织项目like this

├── build.gradle
├── settings.gradle
└── src
    └── main
        ├── java
        │   └── HelloWorld.java
        └── kotlin
            └── Utils.kt

答案 1 :(得分:0)

使用sourceSet.output.classesDir时会显示该弃用消息,该消息将返回File

已在Gradle 4.x中将其替换,并在Gradle 5.x中由sourceSet.output.classesDirs(请注意末尾的s)返回FileCollection

因此,您需要弄清楚您在buildscript中使用它的位置,如果不是,则使用哪个插件。请注意,该新方法已在Gradle 4.x中提供,因此您应该能够升级代码或插件版本以使弃用消息消失。

打猎好!