【问题标题】:Outdated Kotlin Runtime warning in Android StudioAndroid Studio 中过时的 Kotlin 运行时警告
【发布时间】:2017-10-11 04:56:50
【问题描述】:

下载并安装最新的 Kotlin 插件后,我收到来自 Android Studio 的 Outdated Kotlin Runtime 警告,告诉我:

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

我尝试点击 Update Runtime 按钮,但收到另一条消息:

Gradle 项目的自动库版本更新目前正在进行中 不受支持。请手动更新您的 build.gradle。

如何解决这个问题?

【问题讨论】:

    标签: android android-studio kotlin kotlin-android-extensions


    【解决方案1】:

    在您的 (Project: [projectName]) build.gradle 文件中找到以下内容: ext.kotlin_version = 'x.x.x' 并将 x.x.x 替换为您的 Kotlin 插件的当前版本。

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

    1. 转到:工具 -> Kotlin -> 配置 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...”。还将“1.2.40”替换为您当前的 Kotlin 插件版本。

    【讨论】:

    • 感谢您帮助我通过执行工具->Kotlin-->配置 Kotlin 更新->检查更新->安装来更新我的 Koltin 插件。
    • 这应该是被接受的答案!!我正在使用 Android Studio 3.1.3,我遇到了像 OP 一样的问题
    • 记得使用1.3.31
    【解决方案2】:

    您可以在项目级别的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 获得它,您可以找到 repository page,其中列出了所有可用的版本。

    您还可以通过 here 浏览实际托管文件的 jcenter 的原始 maven 存储库,或者在 mvnrepositorymavencentral 上查找 Kotlin(后者的原始版本 here)。

    【讨论】:

    • 谢谢,这从错误中完全不清楚。我怎么知道该怎么做,你是怎么知道的?
    • 太棒了!一段时间以来,我一直忽略此警告,因为我找不到如何执行此操作。
    • 对于像我这样的人,你的项目中有两个“build.gradle”,确保你检查了项目级别的文件。
    【解决方案3】:

    它抱怨(在 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
     ...
    

    【讨论】:

      【解决方案4】:

      您可能需要更新两部分:

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

      Ivo Stoyanov 的回答展示了如何使用 android studio 菜单执行此操作。当我收到错误消息并单独尝试(更新 kotlin 插件)时,它仍然抱怨 kotlin 运行时。正如其他一些答案所表明的那样,您可以通过将 ext.kotlin_version 上的行添加到项目构建 gradle 来逐个项目地更新它。但是你需要知道 kotlin 运行时版本。或者,您也可以通过菜单进行操作,如下所示,Android Studio 会向您显示可用版本,您可以选择最新版本。

      然后 android studio 会在你的项目 build gradle 中添加相应的行。

      【讨论】:

        【解决方案5】:

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

        【讨论】:

        • kotlin 插件不支持插件自动更新吗??它显示手动更新 gradle
        • 它显示“您在 'kotlin-stdlib-1.1.2-5' 库中的 Kotlin 运行时版本是 1.1.2-5,而插件版本是 1.1.3-release-Studio2.3- 1.应更新运行库以避免兼容性问题。” ....我现在应该怎么做。
        • 将您的 ext.kotlin_version 从 '1.1.2-5' 更改为 ext.kotlin_version = '1.1.3-1'
        【解决方案6】:

        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
        }
        }
        

        【讨论】:

        • 现在是7月5日1.2.51;查看我的答案,以轻松查看最新版本是什么。
        【解决方案7】:

        截至 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
        }
        

        干杯

        【讨论】:

          【解决方案8】:

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

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

          如何解决这个问题?

          所以需要手动更改这个版本,可以找到Here

          【讨论】:

          • kotlin 运行时和 kotlin 插件是不同的。问题是询问有关要求更新 kotlin 运行时的错误消息。
          【解决方案9】:

          我在 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
          }
          }
          

          【讨论】:

            【解决方案10】:
            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
                }
            }
            

            【讨论】:

              【解决方案11】:

              搜索这两行代码

              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 会自动建议您更新版本

              编码愉快 :)

              【讨论】:

                【解决方案12】:

                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;请参阅我的答案,以轻松了解最新版本是什么。
                【解决方案13】:

                有点烦人,但工作室有时会这样做。以下步骤可以解决问题。

                前往

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

                将此更改为使用本地并返回使用默认值。 Studio 会在关闭设置窗口后询问是否更新 gradle。

                【讨论】:

                  【解决方案14】:

                  在将我的 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
                  }
                  

                  }

                  【讨论】:

                    【解决方案15】:

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

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

                    【讨论】:

                      猜你喜欢
                      • 1970-01-01
                      • 2020-08-25
                      • 1970-01-01
                      • 2019-06-22
                      • 1970-01-01
                      • 1970-01-01
                      • 1970-01-01
                      • 2018-01-05
                      • 2019-06-17
                      相关资源
                      最近更新 更多