Gradle同步失败:原因:com/android/build/gradle/BaseExtension。

6

我从github上下载了一个项目,然后尝试构建它。

但是,一旦Gradle运行,Android Studio(2.3.3)的事件日志会显示这个:

Gradle sync failed: Cause: com/android/build/gradle/BaseExtension
Consult IDE log for more details (Help | Show Log)

还有

Error:(18, 0) com/android/build/gradle/BaseExtension
<a href="openFile:C:\Users\Gustavo\AndroidStudioProjects\simpletask-android\app\build.gradle">Open File</a>

enter image description here

似乎Gradle找不到正确的Kotlin位置,但我不知道如何更改它。
Kotlin已安装并更新(至1.1.3版本)。

enter image description here

它还被配置为项目中“app”模块的依赖项。

enter image description here

但是,正如最后一张图片所示,项目看到的外部库版本是1.0.6而不是1.1.3。

enter image description here

这是问题吗?我该如何更改这个外部库?


你在 Gradle 文件中添加了 Kotlin Android 扩展插件吗? - Sylvain GIROD
是的,它们已经在那里了。 - gustavogbc
4个回答

7

在我的情况下,我必须将所有内容放入app/build.gradle(而不是根目录下的build.gradle):

    dependencies {
         classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
    }

如果我将上述代码块放置在根build.gradle中,就会出现与您相同的错误...


这是正确的答案。不知道为什么Android Studio错误地将这些行插入了错误的Gradle文件中。 - Yasir Ali
你如何将 classpath 放入你的 app/build.gradle 中? - IgorGanapolsky
不确定到底是什么问题了.... 如果需要的话,你可以将classpath嵌套在buildScript块中。 - mbonnin

2

与@mbonnin类似,但方向相反,我需要将构建工具的依赖从app/build.gradle移动到根build.gradle

dependencies {
  classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
  classpath 'com.android.tools.build:gradle:3.0.0-beta6'
}

0

在 build.gradle(应用级别)中尝试此操作

第一

apply plugin: 'kotlin-android'

依赖项中的第二个

compile "org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version"

编辑

在项目级别的Gradle中执行此操作

buildscript {
    ext.kotlin_version = '1.1.3'
    ext.android_plugin_version = '2.2.0-alpha4'
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:2.2.1'
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
    }
}

并且在应用级别的Gradle中

android {
 dataBinding {
        enabled = true
    }
}

0

当我想添加 Hilt 依赖项时,遇到了这个错误。

下面的代码是我的 Android 项目根目录中的一部分 build.gradle 文件。

buildscript {
    ext.kotlin_version = "1.7.10"
    ext.hilt_version = "2.38.1"
    repositories {
        google()
        mavenCentral()
    }
    dependencies {
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
        classpath "com.google.dagger:hilt-android-gradle-plugin:$hilt_version"
    }
}

对于我来说,在依赖块中添加 classpath 'com.android.tools.build:gradle:7.1.3' 后,问题得到解决。
添加后,以下代码是整个 buildscript 块。
buildscript {
    ext.kotlin_version = "1.7.10"
    ext.hilt_version = "2.38.1"
    repositories {
        google()
        mavenCentral()
    }
    dependencies {
        //you should change the version to the one that suits your project 
        classpath 'com.android.tools.build:gradle:7.1.3'
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
        classpath "com.google.dagger:hilt-android-gradle-plugin:$hilt_version"
    }
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接