【问题标题】:Gradle sync failed: Unable to find method after update to Gradle 4.0.0Gradle 同步失败:更新到 Gradle 4.0.0 后找不到方法
【发布时间】:2020-09-16 15:26:56
【问题描述】:

我将 gradle 更新到 4.0.0

classpath 'com.android.tools.build:gradle:4.0.0'

以及distributionUrl到:

distributionUrl=https\://services.gradle.org/distributions/gradle-6.1.1-all.zip

同步我得到的项目后:

找不到方法 'org.gradle.api.tasks.TaskInputs.property(Ljava/lang/String;Ljava/lang/Object;)Lorg/gradle/api/tasks/TaskInputs;'。

我知道,如果我降级版本,项目将正确同步。但是某处有一些不兼容吗?如果是真的,为什么会有一些更新?

【问题讨论】:

  • 尝试删除项目根文件夹中的.gradle,然后从文件菜单中使用Sync Project
  • 我遇到了同样的问题。我使用的是 green dao 3.2.2,这个问题在将 greenDao 更新为 3.3.0 后得到解决。 See

标签: android android-studio gradle build.gradle


【解决方案1】:

Android Studio 4.0在使用Gradle Plugin 4.0.0和Gradle版本gradle-6.1.1-all.zip时出现以下错误的解决方法强>:

错误: 找不到方法 'org.gradle.api.tasks.TaskInputs.property(Ljava/lang/String;Ljava/lang/Object;)Lorg/gradle/api/tasks/TaskInputs;'。

根本原因: 问题源于不支持 Gradle 6.0.0 和早于 3.3.x 的 Gradle 插件的旧版本 GreenDao 库(早于 3.3.0)

解决方案: 从最新版本(GreenDao v3.3.0)的发行说明中收集,最新版本中添加了以下支持: --- 支持 Android Gradle Plugin 3.3+ APIs。 #942 --- 支持 Gradle 6.0。 #1002

在根 build.gradle(项目)中将库更新到 3.3.0 后

classpath 'org.greenrobot:greendao-gradle-plugin:3.3.0'

在 build.gradle 模块中:

implementation "org.greenrobot:greendao:3.3.0"

问题已解决。

特别说明: 任何其他不支持最新 gradle 插件的库都可能引发类似的错误。要确定是哪个库导致了问题,您可以运行:

./gradlew tasks --stacktrace

【讨论】:

  • 感谢./gradlew tasks --stacktrace的提示
【解决方案2】:

我如何解决一个问题,比如采取两个步骤:

  1. 删除您的 Gradle 并重新安装新版本
  2. 导航到文件并单击无效并清除缓存以重新启动android studio

选项 1 或 2 都可以。

【讨论】:

    【解决方案3】:

    这可能是因为任何第 3 方 Gradle 插件不支持新的 Tasks API。就我而言,这是因为 greendao Gradle 插件。

    如果您使用的是greendao,请将其更新到最新版本3.3.0:

    classpath 'org.greenrobot:greendao-gradle-plugin:3.3.0'
    

    否则您将不得不找到导致问题的插件。

    【讨论】:

      猜你喜欢
      • 2016-10-05
      • 1970-01-01
      • 2019-04-02
      • 1970-01-01
      • 1970-01-01
      • 2019-07-26
      • 1970-01-01
      • 2023-03-25
      • 1970-01-01
      相关资源
      最近更新 更多