无法获得类型为org.gradle.api.internal.tasks.DefaultSourceSetContainer的SourceSet容器的未知属性“ main”

时间:2018-10-05 21:21:39

标签: android android-studio gradle kotlin

首先,我只是想让AspectJ提取我编译的Kotlin类。在尝试执行此操作时,我遇到了一篇帖子,说OP可以通过将AspectJ添加到其模块build.gradle的末尾来让AspectJ拾取Kotlin文件:

sourceSets.main.output.classesDir = sourceSets.main.output.classesDir.toString().replace("java", "kotlin")

但这给了我一个错误:

Could not get unknown property 'main' for SourceSet container of type org.gradle.api.internal.tasks.DefaultSourceSetContainer.

我尝试将sourceSet main添加到a​​ndroid DSL容器中,并且所有代码都位于<module>/src/main/java/中,所以我真的不确定这是什么。

1 个答案:

答案 0 :(得分:2)

我很难想象您的项目结构。但是最近我遇到了相同的错误(尽管与AspectJ无关)。问题是sourceSets.main中设置的主要源代码在Android项目中无法解析(它是Java项目中的有效源代码集,这是我从中复制原始代码的源代码)。为了解决这个问题,我将:sourceSets.main.更改为android.sourceSets.main.以引用Android项目中的实际主要源集。

让我知道是否可以解决!如果没有,可以考虑为项目的设置添加更多细节吗?