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


160

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

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

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

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

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

Ответы:


142

Вы можете обновить версию 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 (необработанная версия последнего здесь ).


1
Спасибо, это не совсем понятно из ошибки. Как я могу узнать, что делать, как ты узнал?
Мальчик

Brilliant! Я некоторое время игнорировал это предупреждение, потому что не мог найти, как это сделать.
Мошенник

1
Для любого, как я, в вашем проекте есть два "build.gradle", убедитесь, что вы проверили файл уровня проекта.
Ихаб Шоули


139

В вашем (Project: [projectName]) build.gradleфайле найдите это: ext.kotlin_version = 'x.x.x'и замените xxx текущей версией вашего плагина 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.


Спасибо, что помогли мне обновить мой плагин Koltin, выполнив Сервис-> Kotlin-> Настроить обновления Kotlin-> Проверить наличие обновлений-> Установить.
Шилендра Мадда

Это должен быть принят ответ! Я использую Android Studio 3.1.3, у меня была такая же проблема, как у OP
Ajay Kulkarni

не забудьте использовать 1.3.31
Raju yourPepe

11

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

6

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

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

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

шаг 1

шаг 2

шаг 3

шаг 4

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


3

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


плагин kotlin не поддерживает автоматическое обновление плагина ?? это показывает, чтобы обновить gradle вручную
Devil10

4
он показывает: «Ваша версия среды выполнения Kotlin в библиотеке« kotlin-stdlib-1.1.2-5 »- 1.1.2-5, а версия плагина - 1.1.3-release-Studio2.3-1. Библиотека времени обновления должна быть обновлена ​​до избегайте проблем с совместимостью. " .... что я должен делать сейчас.
Devil10

изменив свою ext.kotlin_version с '1.1.2-5' на 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
Сейчас 5 июля - 1.2.51; см. мой ответ, чтобы узнать, какая последняя версия.
auspicious99

2

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

ура


1

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

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

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

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


Время выполнения kotlin и плагин kotlin различны. Был вопрос о сообщении об ошибке, в котором предлагается обновить среду выполнения kotlin.
auspicious99

1

Я несколько раз сталкивался с этой проблемой в Android Studio и IDEA и обнаружил, что если вы зайдете в файл Gradle своих проектов и в свои зависимости, если вы установите версию kotlin-gradle-pluginto, $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: Котлин-Gradle-плагин: $ kotlin_version"

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

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

Сейчас 5 июля - 1.2.51; см. мой ответ, чтобы узнать, какая последняя версия.
auspicious99

0

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

Перейти к

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

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


0

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

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

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.