Avatar ·

Ошибка компиляции Kotlin: compileDebugKotlin — что делать?

Всем привет! Я только начал изучать Kotlin для Android и столкнулся с проблемой при сборке проекта. В Gradle вылетает ошибка: ``` Error:Execution failed for task ':app:compileDebugKotlin'. > Compilation error. See log for more details ``` Я перерыл весь Stack Overflow, но чёткого решения не нашёл. Проект создавал через Android Studio с шаблоном Empty Activity. Код простой — просто вывожу "Hello, World!" в TextView. Вот мой `build.gradle` (Module: app): ```kotlin plugins { id("com.android.application") id("org.jetbrains.kotlin.android") } android { namespace = "com.example.myapp" compileSdk = 34 defaultConfig { applicationId = "com.example.myapp" minSdk = 24 targetSdk = 34 versionCode = 1 versionName = "1.0" } buildTypes { release { isMinifyEnabled = false proguardFiles(getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro") } } compileOptions { sourceCompatibility = JavaVersion.VERSION_1_8 targetCompatibility = JavaVersion.VERSION_1_8 } kotlinOptions { jvmTarget = "1.8" } } dependencies { implementation("androidx.core:core-ktx:1.12.0") implementation("androidx.appcompat:appcompat:1.6.1") implementation("com.google.android.material:material:1.11.0") implementation("androidx.constraintlayout:constraintlayout:2.1.4") } ``` И `MainActivity.kt`: ```kotlin class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) val textView: TextView = findViewById(R.id.textView) textView.text = "Привет, мир!" } } ``` Я уже пробовал: - Clean Project и Rebuild - Invalidate Caches / Restart - Обновление Kotlin плагина Но ошибка остаётся. Где искать логи? И как исправить? <<>>

Где найти подробный лог ошибки?

Первое, что нужно сделать — открыть панель Build внизу Android Studio (обычно вкладка Build Output). Однако часто сообщение "See log for more details" не даёт прямой ссылки. Нажмите на иконку Toggle view (глаз) или переключитесь на вкладку Build — иногда там скрыт текст.

Если это не помогло, откройте View → Tool Windows → Build. В выпадающем меню (иконка шестерёнки) включите опцию Show Stack Trace. После повторной сборки вы увидите полный стек ошибки — ищите строку с Kotlin: [ошибка].

Основные причины и решения

  • Несовместимость версий Kotlin и Gradle. Убедитесь, что версия Kotlin (в корневом build.gradle.kts) соответствует версии плагина. Например, для Kotlin 1.9.0 нужен Gradle 7.6+. Проверьте в gradle-wrapper.properties:
    distributionUrl=https\://services.gradle.org/distributions/gradle-8.2-all.zip
  • Конфликт версий Kotlin и Android Gradle Plugin (AGP). AGP 8.x требует Kotlin 1.8+. Обновите в корневом build.gradle.kts:
    plugins {
        id("com.android.application") version "8.2.0" apply false
        id("org.jetbrains.kotlin.android") version "1.9.22" apply false
    }
  • Проблемы с кэшем. Выполните File → Invalidate Caches / Restart, затем Build → Clean Project и Build → Rebuild Project.
  • Ошибка в коде Kotlin. Проверьте синтаксис — например, не забыли ли импорт import android.widget.TextView. В вашем коде он отсутствует! Добавьте его в начало файла.
  • Неверная настройка JVM target. В вашем kotlinOptions указан jvmTarget = "1.8", но современные AGP требуют минимум 17. Измените:
    kotlinOptions {
        jvmTarget = "17"
    }
    И в compileOptions:
    compileOptions {
        sourceCompatibility = JavaVersion.VERSION_17
        targetCompatibility = JavaVersion.VERSION_17
    }

Пошаговый план исправления

  1. Откройте Build Output и найдите точную строку с ошибкой (например, "Unresolved reference: TextView").
  2. Добавьте недостающие импорты в MainActivity.kt.
  3. Обновите версии Kotlin и Gradle до актуальных (см. выше).
  4. Измените JVM target на 17.
  5. Сделайте File → Invalidate Caches / Restart и пересоберите проект.

После этих шагов ошибка должна исчезнуть. Если нет — проверьте, не используется ли в проекте kotlin-android-extensions (он устарел), и замените на ViewBinding или findViewById.

<<>>

Альтернативный подход: использование Build Analyzer

Если ручной поиск логов не дал результата, воспользуйтесь встроенным инструментом Build Analyzer в Android Studio (начиная с версии Arctic Fox). Он покажет все ошибки и предупреждения в удобном виде.

Для запуска: после неудачной сборки нажмите на ссылку "Build Analyzer results" в окне Build Output. Если её нет, перейдите в View → Tool Windows → Build Analyzer. Там вы увидите дерево задач — найдите :app:compileDebugKotlin и разверните его. Внутри будут конкретные ошибки с номерами строк.

Дополнительная проверка

  • Проверьте settings.gradle.kts — возможно, там неправильно указан pluginManagement.
  • Убедитесь, что в gradle.properties не стоит android.useAndroidX=false (должно быть true).
  • Попробуйте временно отключить ProGuard: в build.gradle.kts для debug-сборки установите isMinifyEnabled = false.

Если ничего не помогает — создайте новый проект с теми же настройками и перенесите код. Часто это быстрее, чем искать корень проблемы в старых конфигах.