Gradle sync失败:原因:com / android / build / gradle / BaseExtension

时间:2017-07-02 14:41:54

标签: android android-studio android-gradle kotlin

我从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

这是问题吗? 如何更改此外部库?

3 个答案:

答案 0 :(得分:4)

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

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

如果我将上面的块放在根build.gradle中,我会得到与您相同的错误...

答案 1 :(得分: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'
}

答案 2 :(得分: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"
    }
}

并在app level gradle

android {
 dataBinding {
        enabled = true
    }
}