Android Studio中过时的Kotlin运行时警告


160

下载并安装了最新的Kotlin插件后,我收到了来自Android Studio的过时Kotlin运行时警告,告诉我:

您在'kotlin-stdlib-1.1.2'库中的Kotlin运行时版本为1.1.2,而插件版本为1.1.2-release-Studio2.3-3。应该更新运行时库,以避免兼容性问题。

我试图单击“ 更新运行时”按钮,但又收到另一条消息:

当前不支持Gradle项目的自动库版本更新。请手动更新您的build.gradle。

如何解决这个问题?

Answers:


142

您可以在项目级别的build.gradle文件中更新Kotlin版本。如果按常规方式配置了它,则顶部应该有以下一行:

ext.kotlin_version = '1.1.2'

要升级到与您的插件匹配的版本,只需将此行更改为:

ext.kotlin_version = '1.1.2-3'

编辑(以回答以下问题):

该错误告诉您需要升级您的版本,问题是在哪里可以找到必须输入的内容,1.1.2-3而不是例如1.1.2-release-Studio2.3-3

找出Kotlin最新版本的最佳方法是访问kotlinlang.org并寻找“最新版本”。应该在首页上。

如果版本号很重要,那么要做的另一件事是检查托管版本的存储库。对于Android,您可能会从jcenter获得它,您可以在jcenter中找到存储库页面,其中列出了所有可用版本。

您也可以通过转到此处浏览实际托管文件的jcenter的原始maven存储库,或在mvnrepositorymavencentral此处为后者的原始版本)上查找Kotlin 。


1
谢谢,从错误根本看不出来。我如何得出要做什么,您是如何发现的?
男孩

辉煌!我已经忽略该警告已有一段时间了,因为我找不到如何执行此操作。
骗子

1
对于像我这样的人,您的项目中有两个“ build.gradle”,请确保您已检查项目级文件。
Ihab Shoully


139

(Project: [projectName]) build.gradle文件中找到以下内容: ext.kotlin_version = 'x.x.x'并将xxx替换为当前版本的Kotlin插件。 在此处输入图片说明

为了检查哪个是您的Kotlin插件的当前版本:

  1. 转到:工具-> Kotlin-> Confugure Kotlin插件更新

  2. 点击“再次检查”。一秒钟后,您将看到Kotlin插件的版本。(如果不是最新的,您的Kotlin插件将被更新。) 在此处输入图片说明 在此处输入图片说明

注意:还要检查您的(Module: app) build.gradle文件并确保不使用:

compile "org.jetbrains.kotlin:kotlin-stdlib-jre7:1.2.21" 

compile 'org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.2.40'

注意区别“ ... jre7 ...”->“ ... jdk7 ...”。另外,用您当前的Kotlin插件版本替换“ 1.2.40”。


谢谢您帮助我通过执行工具-> Kotlin->配置Kotlin更新->检查更新->安装来更新我的Koltin插件。
Shylendra Madda '18

这应该被接受的答案!!我使用的是Android Studio 3.1.3,我遇到过类似OP的问题
Ajay Kulkarni,

记得使用1.3.31
Raju yourPepe '19

11

它抱怨(在Android Studio 3.0.1上)...很可能是由于所引用库的依赖关系引起的:

您在'org.jetbrains.kotlin:kotlin-stdlib:1.1.3@jar'库中的Kotlin运行时版本为1.1.3,而插件版本为1.1.51-release-Studio3.0-1。

然后,我在模块级别针对所需版本进行了构建build.gradle

configurations.all() {
    resolutionStrategy.force 'org.jetbrains.kotlin:kotlin-stdlib:1.1.51'
}

结果是:

./gradlew app:dependencies | grep kotlin
Download https://jcenter.bintray.com/org/jetbrains/kotlin/kotlin-stdlib/1.1.51/kotlin-stdlib-1.1.51.pom
 |    |    +--- org.jetbrains.kotlin:kotlin-stdlib:1.1.3 -> 1.1.51
 ...

6

您可能需要更新两部分:

  1. 项目的kotlin运行时
  2. kotlin插件

Ivo Stoyanov的答案显示了如何使用android studio菜单执行此操作。当我收到错误消息并尝试尝试此操作(更新kotlin插件)时,它仍然抱怨kotlin运行时。您可以在每个项目的基础上进行更新,方法是将ext.kotlin_version上的行添加到项目构建gradle中,如其他一些答案所示。但是您需要为此了解kotlin运行时版本。另外,您也可以通过菜单执行此操作,如下所示,这是android studio向您显示可用版本以及您可以选择最新版本的好处。

第1步

第2步

第三步

第4步

然后android studio将在您的项目构建gradle中添加适当的行。


3

将您的ext.kotlin_version从'1.1.2-4'更改为ext.kotlin_version ='1.1.2-5'为我解决了问题


Kotlin插件不支持插件自动更新?它显示手动更新gradle
Devil10 '17

4
它显示“您在'kotlin-stdlib-1.1.2-5'库中的Kotlin运行时版本为1.1.2-5,而插件版本为1.1.3-release-Studio2.3-1。运行时库应更新为避免兼容性问题。” ....我现在应该怎么办。
Devil10年

改变从你的ext.kotlin_version“1.1.2-5'to ext.kotlin_version = '1.1.3-1'
比阿特丽斯林

2

kotlin的最新版本是1.2.41,请使用它并同步您的项目。

buildscript {
ext.kotlin_version = '1.2.41'
repositories {
    google()
    jcenter()
}
dependencies {
    classpath 'com.android.tools.build:gradle:3.1.2'
    classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"

    // NOTE: Do not place your application dependencies here; they belong
    // in the individual module build.gradle files
}
}

1
现在是7月5日的1.2.51;请参阅我的答案,以方便地查看最新版本。
auspicious99

2

截至2019年3月8日,当前的kotlin版本为'1.3.21'

build.gradle

buildscript {
   ext.kotlin_version = '1.3.21'
   repositories {
      google()
      jcenter()
   }
   dependencies {
      classpath 'com.android.tools.build:gradle:3.3.2'
      classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"

    // NOTE: Do not place your application dependencies here; they belong
    // in the individual module build.gradle files
}

干杯


1

当您更新从android studio弹出的kotlin插件版本时,就会出现此问题,但是问题是Android Studio的当前版本无法动态更改位于项目级别Build.gradle文件中的kotlin gradle插件。

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

如何解决这个问题?

因此,您需要手动更改此版本,您可以在此处找到


kotlin运行时和kotlin插件是不同的。问题是询问有关要求更新kotlin运行时的错误消息。
auspicious99

1

我在Android Studio和IDEA中多次遇到此问题,发现如果您进入项目Gradle文件,并在依赖项中将的版本设置为kotlin-gradle-plugin$kotlin_version则警告消息将告诉您所需的版本设置ext.kotlin_version为。

buildscript {
ext.kotlin_version = '1.2.40'
repositories {
    google()
    jcenter()
}
dependencies {
    classpath 'com.android.tools.build:gradle:3.1.2'
    classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"

    // NOTE: Do not place your application dependencies here; they belong
    // in the individual module build.gradle files
}
}

在此处输入图片说明


1
buildscript {
    ext.kotlin_version = '1.2.50'
    repositories {
        google()
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.1.2'
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

1

搜索这两行代码

ext.kotlin_version =' 1.3.11 '

类路径 “ org.jetbrains.kotlin:kotlin-gradle-plugin:$ kotlin_version”

将$ kotlin_version替换为实际值(此处为1.3.11

类路径 “ org.jetbrains.kotlin:kotlin-gradle-plugin:1.3.11”

之后,您的IDE会自动为您建议更新的版本

快乐的编码:)


0

Kotlin最新版本:

buildscript {
    ext.kotlin_version = '1.2.41'

    repositories {
        google()
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.0.1'
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
        classpath 'com.github.dcendents:android-maven-gradle-plugin:1.5'
        classpath 'com.google.gms:google-services:1.5.0-beta2'


        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

现在是7月5日的1.2.51;请参阅我的答案,以方便地查看最新版本。
auspicious99

0

有点烦人,但工作室有时会喜欢。以下步骤可以解决此问题。

设置->构建,执行,开发-> Gradle->使用默认的Gradle包装器(推荐)

将其更改为“使用本地”,然后再更改为“使用默认值”。在关闭设置窗口后,Studio会询问有关更新gradle的信息。


0

我的Android Studio从3.0.1升级到3.2.1之后,我遇到了同样的问题。

buildscript {
ext.kotlin_version = '1.2.51'
repositories {
    google()
    jcenter()
    mavenCentral()
    maven { url "https://jitpack.io" }
}
dependencies {
    classpath 'com.android.tools.build:gradle:3.2.1'
    classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"

    // NOTE: Do not place your application dependencies here; they belong
    // in the individual module build.gradle files
}

}


-1

我在Canary频道的最新Android Studio上遇到了这个问题。您可能还需要考虑将Android Studio降级为稳定版本。

这是我在Android Studio 3.0 RC1上发生的。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.