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

Android Gradle v4到Gradle v5更新-每个JVM语言的单独输出目录,android,android-studio,gradle,android-gradle-plugin,gradle-plugin,Android,Android Studio,Gradle,Android Gradle Plugin,Gradle Plugin,我希望将Gradle从v4更新到v5,但我在v4上收到以下警告: Gradle现在为每种JVM语言使用单独的输出目录,但是 此构建假定源中的所有类都有一个目录 设置此行为已被弃用,并计划删除 在Gradle 5.0中 因此,我相信在升级到v5之前,我需要消除这个警告。问题是我真的不确定它要我做什么。如何对构建进行加密,使其不会对源集中的所有类都假定一个directroy 我尝试将以下内容添加到build.gradle,但仍收到警告: sourceSets { main {

我希望将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")
    }
}

您不需要向生成脚本添加任何内容。只需组织项目:


您不需要向生成脚本添加任何内容。只需组织项目:


当您使用
sourceSet.output.classesDir
时,会显示该弃用消息,它返回一个
文件

这在Gradle 4.x中被替换,在Gradle 5.x中被
sourceSet.output.classesDirs
(注意末尾的
s
)删除,后者返回一个
FileCollection

因此,您需要弄清楚在构建脚本中在何处使用它,如果没有,则是哪个插件使用它。请注意,Gradle4.x中已经提供了新方法,因此您应该能够升级代码或插件版本,以消除不推荐消息


猎得好

当您使用
sourceSet.output.classesDir
时,会显示该弃用消息,它返回一个
文件

这在Gradle 4.x中被替换,在Gradle 5.x中被
sourceSet.output.classesDirs
(注意末尾的
s
)删除,后者返回一个
FileCollection

因此,您需要弄清楚在构建脚本中在何处使用它,如果没有,则是哪个插件使用它。请注意,Gradle4.x中已经提供了新方法,因此您应该能够升级代码或插件版本,以消除不推荐消息


猎得好

看,看,我已经看了它抱怨哪个是后端的模块,结构已经这样设置:backend>src>main>java我已经看了它抱怨哪个是后端的模块,结构已经这样设置:backend>src>main>java
├── build.gradle
├── settings.gradle
└── src
    └── main
        ├── java
        │   └── HelloWorld.java
        └── kotlin
            └── Utils.kt