Ошибка "Your project requires a newer version of the Kotlin Gradle plugin" в Android Studio с Flutter
Причина ошибки
Ошибка "Your project requires a newer version of the Kotlin Gradle plugin" возникает, когда версия плагина Kotlin Gradle (org.jetbrains.kotlin:kotlin-gradle-plugin) устарела и не совместима с текущей версией Gradle или Android Gradle Plugin (AGP). В вашем случае вы используете Kotlin 1.7.10, AGP 7.3.0 и compileSdk 34 — это несовместимая комбинация, так как для SDK 34 требуется более новый AGP, а он, в свою очередь, требует более свежий Kotlin.
Решение: пошаговая инструкция
Проблема решается обновлением версий Kotlin и AGP до совместимых. Следуйте шагам:
- Определите совместимые версии:
- Для AGP 8.x (рекомендуется для compileSdk 34) нужен Kotlin 1.9.x или выше.
- Проверьте актуальные версии на официальном сайте Android.
- Отредактируйте
android/build.gradle:buildscript { // Уберите ext.kotlin_version, лучше задать версию напрямую ext.kotlin_version = '1.9.22' // Актуальная стабильная версия repositories { google() mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:8.2.0' // AGP 8.2.0 classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" } } - Обновите
android/app/build.gradle:android { compileSdk 34 // compileSdkVersion устарел, используйте compileSdk ... defaultConfig { minSdk 21 // или ваше значение targetSdk 34 } } // Если используете Kotlin для Android-кода, добавьте: apply plugin: 'kotlin-android' - Обновите Gradle wrapper (файл
android/gradle/wrapper/gradle-wrapper.properties):distributionUrl=https\://services.gradle.org/distributions/gradle-8.5-bin.zip - Синхронизируйте проект:
- В Android Studio: нажмите "File" → "Sync Project with Gradle Files".
- Или выполните в терминале:
cd android && ./gradlew clean.
Дополнительные советы для Flutter-проектов
- Не редактируйте файлы вручную — Flutter автоматически генерирует их. Если вы изменили
android/вручную, лучше удалите папку и выполнитеflutter create --project-name your_project .заново. - Проверьте pubspec.yaml: некоторые пакеты требуют определённую версию Kotlin. Например,
firebase_coreможет требовать Kotlin 1.9+. Просто запуститеflutter pub upgrade. - Используйте
flutter doctor -vдля диагностики: он покажет, какие версии инструментов установлены.
После выполнения этих шагов ошибка должна исчезнуть. Если нет — проверьте, не осталось ли в проекте старых файлов из кэша (удалите android/.gradle и android/app/build).
Альтернативный подход: использование Flutter-команд
Если вы не хотите вручную править Gradle-файлы, можно попробовать автоматическое исправление через Flutter. Выполните следующие команды в терминале из корня проекта:
flutter clean
flutter pub get
cd android
./gradlew clean
./gradlew wrapper --gradle-version 8.5
cd ..
flutter run
Если это не помогает, попробуйте пересоздать папку android:
rm -rf android/
flutter create --platforms=android .
flutter pub get
Этот метод сбросит все настройки Gradle до стандартных, подходящих для вашей версии Flutter. Однако учтите, что вы потеряете кастомные изменения в android/ (например, добавленные разрешения или сервисы).
Если вы используете Android Studio Hedgehog
Убедитесь, что в настройках IDE (File → Settings → Languages & Frameworks → Android SDK) установлена последняя версия SDK Build-Tools. Иногда ошибка возникает из-за того, что IDE использует старый SDK. Обновите его через SDK Manager.