升级到Android Studio 3.0后,出现“Kotlin未配置”的错误。

57

我刚刚更新到了Android Studio 3.0,但在现有项目中遇到了以下错误:

Kotlin未配置

当我进入 工具> Kotlin>项目中的Kotlin配置 时,会收到一条错误消息:“没有可用的配置器”。

同时还会看到下面这个带红色Java标志的错误消息:

输入图像描述

我已尝试过以下操作:

  • 重新启动
  • 清理和重建
  • 无效缓存/重启。

5
尝试从CLI进行干净的构建,这对我有用:关闭Android Studio并运行./gradlew clean assembleDebug,然后再次启动Android Studio。 - bearlysophisticated
这对我有用。你应该将它添加为一个答案。 - Ivan Wooll
谢谢 @m3dw3。这对我有用。我在更改我的.gradle目录路径后遇到了这个问题。 - user1154390
在我新创建的项目(通过Android Studio 3.2.1稳定版),我在项目的build.gradle中定义了以下kotlin版本:ext.kotlin_version ='1.3.11' '1.2.71'。我删除了第二个版本,所以它看起来像这样ext.kotlin_version ='1.3.11' - Sufian
12
“File -> Sync Project with Gradle files” 对我有效…… - vortek
19个回答

47

我最初尝试使用“使缓存无效/重新启动”选项,但它没有帮助我。

当我在项目的gradle文件中将Kotlin更新至1.1.60版本时,问题得到了解决。

此外,在应用的gradle中使用这个stdlib。

implementation "org.jetbrains.kotlin:kotlin-stdlib:1.1.60" 

而不是

implementation "org.jetbrains.kotlin:kotlin-stdlib-jre7:1.1.60"

2
最好提供一些上下文信息,以便知道需要替换哪一行代码。 - Martin
3
我尝试了一些方法,认为问题已经解决。然而,当我恢复到原来的“实现”implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version"时,错误问题仍然解决了。我可能只是需要重新运行gradle文件。 - AdamHurwitz
感谢!从依赖中删除jre7帮助我同步并最终使用新的Kotlin版本构建项目。 - garbus

39
在Android Studio中,点击 文件 -> 无效缓存/重启...,然后选择 "无效并重启"。这解决了我的问题。

1
这个答案不仅适用于Mac,它也在我的Windows机器上运行良好。 - Zun
这个答案对我来说很有效。它应该是被批准的答案。 - cuasodayleo

13

如果在allprojects中缺少mavenCentral()存储库,则会出现此错误。确保您的build.gradle (:app)至少包含以下内容:

mavenCentral()
allprojects {
    repositories {
        google()
        mavenCentral()
    }
}

jcenter() 现在仍可以使用,但该仓库已经到达了生命周期的终点,不应再使用。

Translated:

jcenter() 目前仍然可用,但该存储库已到达其生命周期的终点,不应再使用。


4
关闭并重新启动Android Studio 对我来说是有效的。重要的是在关闭之前没有其他项目在Android Studio中打开。我怀疑在升级插件等情况下,关闭同时打开多个项目窗口的Android Studio 有时会搞乱配置。

3

重要更新

在设置配置之前,请检查JDK版本

Kotlin gradle配置页面提供了详细的信息。

步骤1

检查项目级别gradle文件中的Kotlin版本。

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

For kotlin_version '1.2.x' Use jdk NOT jre

步骤2

文件 > 项目结构中检查JDK版本。

sc

或者build.gradle中检查。

compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_8
    targetCompatibility JavaVersion.VERSION_1_8
}

如果在项目结构中未设置JDK版本,则需要根据Android Studio版本进行选择。
  • 对于Android Studio版本<2.2.1,JDK版本为1.7
  • 对于Android Studio版本<2.2.1,JDK版本为1.8
因为自2.2.1版本以来,Android Studio已捆绑jdk 1.8。 您有3个选项的kotlin stdlib,请根据JDK版本进行选择。
implementation"org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version" //jdk_version == 1.8
implementation"org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" //jdk_version == 1.7
implementation"org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version" // jdk_version is < 1.7

如果Kotlin版本是'1.1.x',请使用JRE而不是JDK。
implementation"org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version" // or jre8

更新 Kotlin 版本?

您可以从 工具 > Kotlin > 配置 Kotlin 更新 中更新 Kotlin 版本。


3
“Kotlin未配置”消息的常见原因是由于错误插件引起的Android Studio内部异常。为了解决这个问题,您应该禁用错误的插件。
当出现此类插件崩溃时,在“欢迎屏幕”上,您将看到一个小通知(请参见示意图),您可以单击它并禁用错误的插件:

enter image description here


3

Kotlin-stdlib-jre7自1.2.0版本起已被弃用,应使用kotlin-stdlib-jdk7替代

implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" 

2

我最近遇到了这个问题...当我升级到Android Studio 3.1时。

我做了几件事情来解决这个问题。

  1. First I updated the Kotlin version in my app gradle file and added

    implementation "org.jetbrains.kotlin:kotlin-stdlib:1.2.31" 
    

    in my app gradle file. But this alone didn't fix it.

  2. Then uninstalled the kotlin plugin from settings, restarted Android Studio and installed it again.

编辑:

这是我的项目 gradle 文件。

buildscript {
   ext.kotlin_version = '1.2.31'
   repositories {
      jcenter()
      google()
    }
   dependencies {
      classpath 'com.android.tools.build:gradle:3.1.1'
      classpath 'com.google.gms:google-services:3.1.0'
      classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.2.31"

   }
 }

allprojects {
   repositories {
      jcenter()
      maven { url "https://jitpack.io" }
      google()
   }
}

这是我的应用 gradle 文件

apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'

android {

   compileSdkVersion 27

   buildToolsVersion '27.0.3'

   defaultConfig {
       ...
    }

    buildTypes {
        ...
    }

    sourceSets {
         main.java.srcDirs += 'src/main/kotlin'
     }

     kapt { generateStubs = true }


}
repositories {
     ...
}


dependencies {
    ...
    ...
    implementation "org.jetbrains.kotlin:kotlin-stdlib:1.2.31"
    ...
    ...

 }

apply plugin: 'com.google.gms.google-services'

一些上下文信息可以让我们更好地理解这行代码应该放在哪里。 - Martin

2

只需从项目中删除.idea文件夹,然后重新运行Android Studio即可解决KOTLIN NOT CONFIGURED问题。


1
删除C:\Users\Username中的.AndroidStudio3.6文件夹,然后重新打开Android Studio即可。

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