android - 无法为 org.gradle.api.internal.tasks.DefaultSourceSetContainer 类型的 SourceSet 容器获取未知属性 'main'

标签 android android-studio gradle kotlin

首先,我只是想让 AspectJ 获取我编译的 Kotlin 类。在尝试执行此操作时,我遇到了一篇文章,说 OP 能够通过将其添加到其模块 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到android DSL容器,所有代码都在<module>/src/main/java/ ,所以我真的不确定这笔交易是什么。

最佳答案

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

如果这行得通,请告诉我!如果没有,请考虑为您的项目设置添加更多细节?

关于android - 无法为 org.gradle.api.internal.tasks.DefaultSourceSetContainer 类型的 SourceSet 容器获取未知属性 'main',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52673421/

相关文章:

java - 如何从 Android 中的 MediaPlayer 获取音频流

android - ViewHolder 在偶数和奇数位置膨胀布局

android - 关于在 Android studio 中重命名 Android 项目的建议(基于 Gradle)

gradle - 在多个 Gradle 任务之前创建一个目录

android - Gradle构建任务表示Gradle Wrapper版本低于Gradle属性中定义的版本

java - Intellij无法编译Gradle项目

android - 如何使用 Gradle 为 Android 项目生成 Eclipse 和 Intellij 项目文件

Android:透明背景自动替换为随机图像

Android Studio 启动时崩溃

android - 在 Android 项目中将 Google Tag Manager 与 Firebase 集成