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

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

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

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

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

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

12 ответов

В вашем (Project: [projectName])build.gradle файл найти это:ext.kotlin_version = 'x.x.x' и замените ххх текущей версией вашего плагина Kotlin. введите описание изображения здесь

Чтобы узнать, какая версия вашего плагина Kotlin является текущей:

  1. Перейдите: Инструменты -> Kotlin -> Конфигурировать обновления плагинов Kotlin

  2. Нажмите "Проверить обновления сейчас". Через секунду вы увидите версию своего плагина Kotlin. (Если он не обновлен, ваш плагин Kotlin будет обновлен.) введите описание изображения здесь введите описание изображения здесь

NB: Также проверьте свой (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 на уровне вашего проекта 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,

Лучше всего, если номер версии не тривиален, как это, это проверить репозитории, в которых находятся версии. В случае с Android вы, вероятно, получите его от jcenter, для которого вы можете найти страницу репозитория, в которой перечислены все доступные версии.

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

Он жаловался (на 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
 ...

Вы можете обновить две части:

  1. Kotlin Runtime для проекта
  2. плагин kotlin

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

шаг 1

шаг 2

шаг 3

шаг 4

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

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

По состоянию на 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
}

ура

последняя версия 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
}
}

Искать эти две строки кода

ext.kotlin_version = '1.3.11'

путь к классу "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"

замените $ kotlin_version фактическим значением (здесь это 1.3.11)

classpath "org.jetbrains.kotlin: kotlin-gradle-plugin: 1.3.11"

после этого ваша IDE автоматически предложит вам обновленную версию

Удачного кодирования:)

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

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

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

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

Таким образом, вам нужно вручную изменить эту версию, вы можете найти здесь

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

измените это на Use local и вернитесь на Use default. Студия спросит об обновлении gradle после закрытия окна настроек.

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

}

Я сталкивался с этой проблемой на последней Android Studio от Канарского канала. Возможно, вы захотите снизить версию Android Studio до стабильной.

Это случилось для меня на Android Studio 3.0 RC1.

Другие вопросы по тегам