【发布时间】:2019-09-26 03:37:51
【问题描述】:
我将我的 Android Studio 版本更新到 3.4,然后它要求我将 Gradle 从 v4.10.1 升级到 v5.1.1。
但是 gradle 项目同步现在一直失败:
错误:找不到方法 'org.gradle.api.tasks.SourceSetOutput.getClassesDir()Ljava/io/File;'。
此意外错误的可能原因包括:
Gradle 的依赖缓存可能已损坏(这有时会发生在 网络连接超时。)
重新下载依赖并同步项目(需要网络)
Gradle 构建过程(守护进程)的状态可能已损坏。停止 所有 Gradle 守护进程都可以解决这个问题。
停止 Gradle 构建过程(需要重新启动)
您的项目可能正在使用不兼容的第三方插件 与项目中的其他插件或 Gradle 版本一起使用 项目要求。
在 Gradle 进程损坏的情况下,您也可以尝试关闭 IDE,然后杀死所有 Java 进程。
我已经尝试了所有这些选项,但仍然遇到同样的错误。我发现以下有关从 v4 升级到 v5 的信息:
已经从 JDepend 任务中删除了 classesDir 属性 和源集输出。使用 JDepend.classesDirs 和 SourceSetOutput.classesDirs 属性。
https://docs.gradle.org/current/userguide/upgrading_version_4.html
它提供的唯一有用信息是使用提到的属性。但我不知道我需要替换什么,我看不到 SourceSetOutput 在我的代码中的任何地方使用。我想没有其他人遇到过这个问题或知道如何解决这个问题?
我也尝试升级到最新的 Gradle 版本,即 5.4.1,但这似乎没有什么不同。
【问题讨论】:
-
“我的代码中的任何地方都看不到 SourceSetOutput”——您应该寻找
classesDir。 -
您是否尝试过使 Android Studio 的缓存失效并重新启动它?
-
我也找了 classesDir 但我也看不到。
-
我也尝试过使缓存无效并重新启动,但仍然出现同样的错误。
标签: android android-studio gradle android-gradle-plugin gradle-plugin