Застаріле попередження про виконання Kotlin в студії Android


160

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

Ваша версія режиму виконання Kotlin у бібліотеці 'kotlin-stdlib-1.1.2' становить 1.1.2, а версія плагіна - 1.1.2-реліз-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.

Найкращий спосіб дізнатися останню версію Котліна - перейти на kotlinlang.org і шукати "Остання версія". Повинно бути прямо на першій сторінці.

Інша справа, якщо номер версії нетривіальний, як це перевірити сховища, де розміщуються версії. Що стосується Android, ви, ймовірно, отримаєте його від jcenter, для якого ви можете знайти сторінку сховища , у якій перераховані всі доступні версії.

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


1
Дякую, це зовсім не зрозуміло з помилки. Як я можу отримати, що робити, як ви дізналися?
Хлопчик

Блискуче! Я деякий час ігнорував це попередження, тому що не міг знайти, як це зробити.
Шахрай

1
Для кожного, як я, у вашому проекті є два "build.gradle", переконайтеся, що ви перевірили файл рівня проекту.
Іхаб Шоулі


139

У вашому (Project: [projectName]) build.gradleфайлі знайдіть це: ext.kotlin_version = 'x.x.x'і замініть xxx на поточну версію плагіна Kotlin. введіть тут опис зображення

Для того, щоб перевірити, яка поточна версія вашого плагіна Kotlin:

  1. Перейдіть до: Інструменти -> Котлін -> Конфугування оновлень плагіна 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.


Дякую, що ти допоміг мені оновити свій плагін Koltin, виконавши Інструменти-> Kotlin -> Налаштувати оновлення Kotlin-> Перевірити наявність оновлень-> Встановити.
Шилендра Мадда

На це слід прийняти відповідь !! Я використовую Android Studio 3.1.3, у мене був такий самий випуск, як OP
Ajay Kulkarni,

не забудьте скористатися 1.3.31
Раджу вашПепе

11

він скаржився (на Android Studio 3.0.1) ... швидше за все через залежність бібліотек:

Ваша версія режиму виконання Kotlin у бібліотеці 'org.jetbrains.kotlin: kotlin-stdlib: 1.1.3@jar' - це 1.1.3, а версія плагіна - 1.1.51-реліз-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. Котлін виконує проект
  2. плагін kotlin

Відповідь Іво Стоянова показує, як це зробити за допомогою меню студій Android. Коли я отримав повідомлення про помилку і спробував це (оновлення плагіну kotlin) поодинці, він все ще скаржився на час виконання kotlin. Ви можете оновити проект на основі проекту, додавши рядок ext.kotlin_version до gradle проекту, як показано в деяких інших відповідях. Але для цього вам потрібно знати версію виконання програми kotlin. Крім того, ви також можете це зробити через меню, як я показую тут нижче, бонус, що андроїд-студія показує вам доступні версії, і ви можете вибрати останню версію.

крок 1

крок 2

крок 3

крок 4

І тоді андроїд-студія додасть у відповідний рядок у вашій програмі build gradle.


3

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


чи плагін Kotlin не підтримує оновлення автоматичного додатка ?? показує оновити gradle вручну
Devil10

4
він показує "Ваша версія часу виконання Котліна в бібліотеці" kotlin-stdlib-1.1.2-5 "становить 1.1.2-5, тоді як версія плагіна - 1.1.3-реліз-Studio2.3-1. Бібліотеку виконання слід оновити до уникайте проблем із сумісністю ". .... що я повинен робити зараз.
Devil10

зміна ext.kotlin_version з '1.1.2-5'to ext.kotlin_version =' 1.1.3-1 '
Beatrice Lin

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; дивіться мою відповідь на простий спосіб зрозуміти, яка найновіша версія.
сприятливий99

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-студії не в змозі динамічно змінювати плагін kotlin gradle, який знаходиться у вашому файлі Build.gradle на рівні проекту .

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

Як вирішити це питання?

Тож вам потрібно вручну змінити цю версію. Ви можете її знайти тут


Час виконання kotlin та плагін kotlin різні. Питання було питання про повідомлення про помилку, яке просить оновити час виконання kotlin.
сприятливий99

1

Я кілька разів зіткнувся з цією проблемою в 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
}
}

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


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'

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 автоматично запропонує вам оновлену версію

щасливе кодування :)


0

Новітня версія Котліна:

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, 5 липня, 1,2,51; дивіться мою відповідь на простий спосіб зрозуміти, яка найновіша версія.
сприятливий99

0

Трохи дратівливий, але студія діє так, як це часом. Нижче наведені кроки можуть вирішити проблему.

Йти до

Налаштування -> Збірка, виконання, розробка -> Gradle -> Використовувати обгортку gradle за замовчуванням (рекомендується)

змініть це на Використовувати локальний і повернутися до Використовувати за замовчуванням. Студія запитає про оновлення 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 від каналу "Канар". Ви можете також розглянути можливість відновлення Android Studio до стабільної версії.

Це сталося зі мною на Android Studio 3.0 RC1.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.