Устаревшее предупреждение 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 является текущей:
Перейдите: Инструменты -> Kotlin -> Конфигурировать обновления плагинов Kotlin
Нажмите "Проверить обновления сейчас". Через секунду вы увидите версию своего плагина 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
...
Вы можете обновить две части:
- Kotlin Runtime для проекта
- плагин kotlin
Ответ Иво Стоянова показывает, как это сделать с помощью меню студии android. Когда я получил сообщение об ошибке и попробовал это (обновить плагин kotlin) в одиночку, он все еще жаловался на время выполнения kotlin. Вы можете обновить это для каждого отдельного проекта, добавив строку к ext.kotlin_version в gradle сборки проекта, как показывают некоторые другие ответы. Но для этого вам нужно знать версию Kotlin. В качестве альтернативы, вы также можете сделать это через меню, как я покажу здесь ниже, с бонусом, что Android Studio показывает вам доступные версии, и вы можете выбрать самые последние.
И тогда андроид студия добавит в соответствующую строку в вашем проекте сборку 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.