Устаревшее предупреждение Kotlin Runtime в Android Studio

После загрузки и установки последнего плагина Kotlin у меня появилось предупреждение Outdated Kotlin Runtime от Android Studio, которое сообщает мне:

Ваша версия среды выполнения Kotlin в библиотеке kotlin-stdlib-1.1.2 - 1.1.2, а версия плагина - 1.1.2-release-Studio2.3-3. Библиотеку времени выполнения следует обновить, чтобы избежать проблем с совместимостью.

Я попытался нажать кнопку Обновить среду выполнения, но получил другое сообщение:

Автоматическое обновление версии библиотеки для проектов Gradle в настоящее время не поддерживается. Обновите build.gradle вручную.

Как решить эту проблему?


person Arsenius    schedule 12.05.2017    source источник


Ответы (14)


Вы можете обновить версию Kotlin в файле build.gradle уровня вашего проекта. Если вы настроили его обычным образом, у вас должна быть следующая строка вверху:

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, для которого вы можете найти страница репозитория, на которой перечислены все доступные версии.

Вы также можете просмотреть исходный репозиторий maven jcenter, где файлы фактически размещены, перейдя здесь или найдите Kotlin на mvnrepository или на mavencentral (необработанные версия последнего (здесь).

person zsmb13    schedule 12.05.2017
comment
Спасибо, это вообще не понятно из ошибки. Как я могу понять, что делать, как вы узнали? - person Boy; 15.05.2017
comment
Блестяще! Я некоторое время игнорировал это предупреждение, потому что не мог найти, как это сделать. - person Swindler; 19.07.2017
comment
Для таких, как я, в вашем проекте есть два build.gradle, убедитесь, что вы проверили файл уровня проекта. - person Ihab Shoully; 10.01.2018
comment
Лучшая ссылка: plugins.gradle.org/m2/org / jetbrains / kotlin / kotlin-gradle-plugin - person WindRider; 16.04.2018

В вашем (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.

person Ivo Stoyanov    schedule 25.01.2018
comment
Спасибо, что помогли мне обновить мой плагин Koltin, выполнив Инструменты- ›Kotlin -› Настроить обновления Kotlin- ›Проверить обновления-› Установить. - person Shailendra Madda; 16.05.2018
comment
Это должен быть принятый ответ !! Я использую Android Studio 3.1.3, у меня была такая же проблема, как у OP - person Ajay Kulkarni; 01.08.2018
comment
не забудьте использовать 1.3.31 - person Raju yourPepe; 04.06.2019

он жаловался (на Android Studio 3.0.1) ... скорее всего, из-за зависимостей ссылочных библиотек:

Ваша версия среды выполнения Kotlin в библиотеке org.jetbrains.kotlin: kotlin-stdlib: 1.1.3@jar '- 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
 ...
person Martin Zeitler    schedule 28.12.2017

Есть две части, которые вы можете обновить:

  1. kotlin время выполнения для проекта
  2. плагин kotlin

Ответ Иво Стоянова показывает, как это сделать с помощью меню студии Android. Когда я получил сообщение об ошибке и попробовал только это (обновление плагина kotlin), он все еще жаловался на время выполнения kotlin. Вы можете обновить это для каждого проекта в отдельности, добавив строку ext.kotlin_version в Gradle сборки проекта, как указывают некоторые другие ответы. Но для этого вам нужно знать версию исполнения kotlin. Кроме того, вы также можете сделать это через меню, как я показываю ниже, с бонусом, что студия Android показывает вам доступные версии, и вы можете выбрать самую последнюю.

шаг 1

шаг 2

шаг 3

шаг 4

И тогда студия Android добавит соответствующую строку в градиент сборки вашего проекта.

person auspicious99    schedule 05.07.2018

изменение вашей ext.kotlin_version с '1.1.2-4' на ext.kotlin_version = '1.1.2-5' решило проблему для меня

person Mauve Guava    schedule 15.06.2017
comment
плагин kotlin не поддерживает автоматическое обновление плагина ?? он показывает, чтобы обновить градиент вручную - person Devil10; 30.06.2017
comment
он показывает, что ваша версия среды выполнения Kotlin в библиотеке kotlin-stdlib-1.1.2-5 - 1.1.2-5, а версия плагина - 1.1.3-release-Studio2.3-1. Библиотека времени выполнения должна быть обновлена, чтобы избежать проблемы совместимости. .... что мне теперь делать. - person Devil10; 30.06.2017
comment
изменение вашей ext.kotlin_version с "1.1.2-5" на ext.kotlin_version = "1.1.3-1" - person Beatrice Lin; 24.10.2017

последняя версия 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
}
}
person abhilasha Yadav    schedule 08.06.2018
comment
5 июля - 1.2.51; см. мой ответ, чтобы узнать, какова последняя версия. - person auspicious99; 05.07.2018

По состоянию на 8 марта 2019 г. текущая версия котлина - '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
}

ваше здоровье

person ralphgabb    schedule 08.03.2019

Эта проблема возникает, когда вы обновляете версию плагина kotlin, появившуюся из студии Android, но проблема в том, что текущая версия студии Android не может динамически изменять плагин kotlin gradle, который находится в вашем уровне проекта Build.gradle файл.

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

Как решить эту проблему?

Поэтому вам необходимо вручную изменить эту версию. Вы можете найти это здесь

person TapanHP    schedule 19.01.2018
comment
Среда выполнения kotlin и плагин kotlin отличаются. Вопрос касался сообщения об ошибке, в котором предлагается обновить среду выполнения kotlin. - person auspicious99; 05.07.2018

Я несколько раз сталкивался с этой проблемой в 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
}
}

введите здесь описание изображения

person Sal Aldana    schedule 27.04.2018

найдите эти две строки кода

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 автоматически предложит вам обновленную версию

счастливого кодирования :)

person muhammad awais    schedule 20.01.2019

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
    }
}
person abhilasha Yadav    schedule 23.05.2018
comment
5 июля - 1.2.51; см. мой ответ, чтобы узнать, какова последняя версия. - person auspicious99; 05.07.2018

Немного раздражает, но иногда студия ведет себя так же. Следующие шаги могут решить проблему.

Go to

Настройки -> Сборка, Выполнение, Разработка -> Gradle -> Использовать оболочку Gradle по умолчанию (рекомендуется)

измените это на Использовать локально и обратно на Использовать по умолчанию. Studio спросит об обновлении gradle после закрытия окон настроек.

person Vishal Pawar    schedule 15.07.2018

У меня возникла такая же проблема после обновления моей студии 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
}

}

person Narendra.kr    schedule 22.01.2019

Я столкнулся с этой проблемой в последней версии Android Studio с канала Canary. Вы также можете рассмотреть возможность понижения Android Studio до стабильной версии.

У меня это произошло на Android Studio 3.0 RC1.

person ViliusK    schedule 18.10.2017