Версия Kotlin для сборки Gradle отличается от версии в плагине IDE
Причина ошибки
Ошибка возникает из-за несоответствия версий Kotlin, используемых в двух разных местах:
- Gradle-сборка — использует версию, указанную в
build.gradle(у вас1.1.2-5) - Плагин Kotlin в Android Studio — использует свою встроенную версию (у вас
1.1.2-4)
IDE предупреждает, что версия компилятора во время сборки может отличаться от версии, которую использует плагин для подсветки синтаксиса, автодополнения и анализа кода. Это может привести к:
- Ложным ошибкам в редакторе (красные подчеркивания, которые не появляются при сборке)
- Несоответствию поведения фич, добавленных в разных версиях
- Проблемам с совместимостью стандартной библиотеки
Как исправить
Способ 1 (рекомендуемый): Обновить версию плагина Kotlin в Android Studio до той, что используется в Gradle. Для этого:
- Откройте File → Settings → Languages & Frameworks → Kotlin
- Нажмите кнопку Check for updates или Install
- Выберите версию
1.1.2-5(или новее, если доступно) - Нажмите OK и перезапустите IDE
Способ 2: Понизить версию в Gradle до версии плагина IDE. В вашем build.gradle измените:
ext.kotlin_version = '1.1.2-4'
Затем синхронизируйте проект (File → Sync Project with Gradle Files).
Способ 3 (лучший для долгосрочной перспективы): Обновить всё до актуальной стабильной версии. Например, для Kotlin 1.9.0:
// build.gradle (проект)
buildscript {
ext.kotlin_version = '1.9.0'
repositories {
google()
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:8.1.0'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
}
}
// build.gradle (модуль)
dependencies {
implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
}
После этого обновите плагин Kotlin в IDE до той же версии через Settings → Kotlin → Check for updates.
Как проверить версию плагина IDE
Откройте Help → About (или Android Studio → About на macOS). Найдите строку "Kotlin plugin version". Если она не совпадает с версией в Gradle — вы увидите предупреждение.
Важно
Не игнорируйте это предупреждение! Даже если сборка проходит успешно, различия могут вызвать:
- Некорректную работу автодополнения
- Ошибки статического анализа, которых нет при компиляции
- Сложно отлавливаемые баги из-за разного поведения компилятора
Всегда синхронизируйте версии Kotlin в Gradle и плагине IDE — это сэкономит вам часы отладки.
<<Альтернативный подход: использование BOM (Bill of Materials)
Если вы используете Gradle 7.0+ и Kotlin 1.6+, можно централизованно управлять версиями через Kotlin BOM. Это автоматически синхронизирует версии всех Kotlin-зависимостей, включая плагин и стандартную библиотеку.
// build.gradle (проект)
buildscript {
repositories {
google()
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:8.1.0'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.9.0"
}
}
// build.gradle (модуль)
dependencies {
implementation platform("org.jetbrains.kotlin:kotlin-bom:1.9.0")
implementation "org.jetbrains.kotlin:kotlin-stdlib"
}
Преимущества:
- Не нужно указывать версию для каждой Kotlin-библиотеки
- Гарантированная совместимость всех компонентов
- Легче обновлять — достаточно изменить версию в одном месте
Важно: BOM не влияет на версию плагина IDE, поэтому её всё равно придётся обновлять вручную через настройки Android Studio. Но BOM решает проблему несоответствия внутри Gradle-сборки.
После настройки BOM рекомендуется перезапустить IDE и выполнить File → Invalidate Caches / Restart, чтобы очистить старые кеши анализатора.