无法获取未知属性“ classesDir” Android Studio

时间:2019-06-17 15:47:01

标签: android gradle

请帮助我得到错误消息吗?

  Could not get unknown property 'classesDir' for main classes of type org.gradle.api.internal.tasks.DefaultSourceSetOutput.
 Open File

我的代码

    task dist(type: Jar) {
    from files(sourceSets.main.output.classesDir)
    from files(sourceSets.main.output.resourcesDir)
    from {configurations.compile.collect {zipTree(it)}}
    from files(project.assetsDir);

    manifest {
        attributes 'Main-Class': project.mainClassName
    }
}

1 个答案:

答案 0 :(得分:0)

重复的this问题

  

SourceSetOutput.getClassesDir()在Gradle 4中已弃用,在Gradle 5中已删除。请在Gradle 5中使用getClassesDirs()

在您的情况下,问题出在

sourceSets.main.output.classesDir

将其更改为

sourceSets.main.output.classesDirs

此外,由于大多数files(...)任务方法接受Jar,因此您可以省略任务定义中的大多数Object调用。例如:

task dist(type: Jar) {
    from sourceSets.main.output.classesDirs
    from sourceSets.main.output.resourcesDir
    from {configurations.compile.collect {zipTree(it)}}
    from project.assetsDir

    manifest {
        attributes 'Main-Class': project.mainClassName
    }
}