繁体   English   中英

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

[英]Outdated Kotlin Runtime warning in Android Studio

下载并安装了最新的Kotlin插件后,我从Android Studio发出了Outdated Kotlin Runtime警告,告诉我:

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

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

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

如何解决这个问题?

您可以在项目级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的原始Maven仓库了文件的实际去托管在这里 ,或查找科特林无论是在mvnrepositorymavencentral (后者的原始版本在这里 )。

在你的(Project: [projectName]) build.gradle文件中找到: ext.kotlin_version = 'xxx'并用当前版本的Kotlin插件替换xxx。 在此输入图像描述

为了检查哪个是您的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 ......”。 同时将“1.2.40”替换为您当前的Kotlin插件版本。

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

您可能需要更新两件:

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

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

步骤1

第2步

第3步

第4步

然后android studio将在项目构建gradle中添加相应的行。

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

最新版本的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
}
}

截至2019年3月8日,目前的kotlin版本是'1.3.21' 1.3.21 '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
}

干杯

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

dependencies {
     classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.2.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
    }
}

搜索这两行代码

ext.kotlin_version =' 1.3.11 '

classpath “org.jetbrains.kotlin:kotlin-gradle-plugin:$ kotlin_version”

用实际值替换$ kotlin_version (这里是1.3.11)

classpath “org.jetbrains.kotlin:kotlin-gradle-plugin:1.3.11”

在此之后,您的IDE将自动建议您更新的版本

快乐的编码:)

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

在此输入图像描述

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

有点恼人,但工作室有时像它一样。 以下步骤可以解决问题。

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

将此更改为使用本地和返回使用默认值。 关闭设置窗口后,Studio将询问有关更新gradle的信息。

更新我的android工作室从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
}

}

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

它在Android Studio 3.0 RC1上发生在我身上。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM