Follow

Keep Up to Date with the Most Important News

By pressing the Subscribe button, you confirm that you have read and are agreeing to our Privacy Policy and Terms of Use
Contact

Compile and Debug Kotlin FAILED

Today, while working for some unknown reason, the following error occurred:

Task :app:compileDebugKotlin FAILED
e: This version (1.1.1) of the Compose Compiler requires Kotlin version 1.6.10 but you appear to be using Kotlin version 1.7.10 which is not known to be compatible. Please fix your configuration (or suppressKotlinVersionCompatibilityCheck but don’t say I didn’t warn you!).
FAILURE: Build failed with an exception.

  • What went wrong:
    Execution failed for task ‘:app:compileDebugKotlin’.

A failure occurred while executing org.jetbrains.kotlin.compilerRunner.GradleCompilerRunnerWithWorkers$GradleKotlinCompilerWorkAction
Compilation error. See log for more details

MEDevel.com: Open-source for Healthcare and Education

Collecting and validating open-source software for healthcare, education, enterprise, development, medical imaging, medical records, and digital pathology.

Visit Medevel

I have encountered this issue once before, but several weeks ago. And I made some tweaks and it worked. Unfortunately, now it is very hard to know exactly where the problem is.

build.gradle

buildscript {
    dependencies {
        classpath('com.google.dagger:hilt-android-gradle-plugin:2.40.1')
    }
    ext {
        compose_version = '1.1.1'
        coroutines = '1.6.4'
        accompanist = '0.24.13-rc' // https://github.com/google/accompanist
        datastore = '1.0.0' // https://developer.android.com/jetpack/androidx/releases/datastore
        room = '2.4.2'
        navigation = '2.5.0'
        lifecycle = '2.5.0' // https://developer.android.com/jetpack/androidx/releases/lifecycle
        material3 = '1.0.0-alpha14' // https://developer.android.com/jetpack/androidx/releases/compose-material3
        work = '2.7.1' // https://developer.android.com/jetpack/androidx/releases/work
        rcview = '1.2.1' // https://developer.android.com/jetpack/androidx/releases/recyclerview
        rcview_select = '1.1.0'
    }
    repositories {
        google()
    }
}// Top-level build file where you can add configuration options common to all sub-projects/modules.
plugins {
    id 'com.android.application' version '7.2.2' apply false
    id 'com.android.library' version '7.2.2' apply false
    id 'org.jetbrains.kotlin.android' version '1.6.10' apply false
    id 'org.jetbrains.kotlin.jvm' version '1.7.10' apply false
    id 'org.jetbrains.kotlin.plugin.serialization' version '1.7.10' apply false
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

build.gradle(:app)

plugins {
    id 'com.android.application'
    id 'org.jetbrains.kotlin.android'
    id 'kotlin-android'
    id 'kotlin-kapt'
    id 'dagger.hilt.android.plugin'
    id 'org.jetbrains.kotlin.plugin.serialization'
}

android {
    compileSdk 32

    defaultConfig {
        applicationId ""
        minSdk 24
        targetSdk 32
        versionCode 1
        versionName "0.8.3"

        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
        vectorDrawables {
            useSupportLibrary true
        }
        javaCompileOptions {
            annotationProcessorOptions {
                arguments += [
                        "room.schemaLocation":"$projectDir/schemas".toString(),
                        "room.incremental":"true",
                        "room.expandProjection":"true"
                ]
            }
        }
    }

    buildTypes {
        release {
            minifyEnabled false
            shrinkResources false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
    kotlinOptions {
        freeCompilerArgs += [
                "-opt-in=kotlin.RequiresOptIn"]
        jvmTarget = '1.8'
    }
    buildFeatures {
        compose true
        viewBinding true
    }
    composeOptions {
        kotlinCompilerExtensionVersion "1.1.1"
    }
    packagingOptions {
        resources {
            excludes += '/META-INF/{AL2.0,LGPL2.1}'
        }
    }
}

dependencies {

    implementation "com.github.ireward:compose-html:1.0.2"
    implementation 'com.google.dagger:hilt-android:2.43.1'
    implementation "androidx.hilt:hilt-navigation-compose:1.0.0"
    kapt 'com.google.dagger:hilt-compiler:2.43.1'

    implementation "androidx.datastore:datastore-preferences:$datastore"
    implementation "androidx.datastore:datastore:1.0.0"
    implementation "org.jetbrains.kotlinx:kotlinx-collections-immutable:0.3.5"
    implementation "org.jetbrains.kotlinx:kotlinx-serialization-json:1.3.2"

    // Coroutines
    implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core:$coroutines"
    implementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:$coroutines"

    // Work
    implementation "androidx.work:work-runtime-ktx:$work"
    implementation "androidx.work:work-gcm:$work" // optional - GCMNetworkManager support
    androidTestImplementation "androidx.work:work-testing:$work" // optional - Test helpers
    implementation "androidx.work:work-multiprocess:$work" // optional - Multiprocessor support


    // optional - Paging 3 Integration
    implementation "androidx.room:room-paging:2.5.0-alpha02"

    // Navigation
    implementation "androidx.navigation:navigation-fragment-ktx:$navigation"
    implementation "androidx.navigation:navigation-ui-ktx:$navigation"

    implementation "androidx.navigation:navigation-dynamic-features-fragment:$navigation"

    // Testing Navigation
    androidTestImplementation "androidx.navigation:navigation-testing:$navigation"

    // Jetpack Compose Integration
    implementation "androidx.navigation:navigation-compose:$navigation"

    // status bar customization
    implementation "com.google.accompanist:accompanist-systemuicontroller:0.23.1"

    // Accompanist
    implementation "com.google.accompanist:accompanist-pager:$accompanist" // Pager
    implementation "com.google.accompanist:accompanist-pager-indicators:$accompanist" // Pager Indicators
    implementation "com.google.accompanist:accompanist-flowlayout:$accompanist"
    implementation "com.google.accompanist:accompanist-navigation-animation:$accompanist"
    implementation "com.google.accompanist:accompanist-swiperefresh:$accompanist"

    implementation "androidx.recyclerview:recyclerview:$rcview"
    // For control over item selection of both touch and mouse driven selection
    implementation "androidx.recyclerview:recyclerview-selection:$rcview_select"

    // Card view
    implementation "androidx.cardview:cardview:1.0.0"

    // Room:
    implementation("androidx.room:room-runtime:$room")
    annotationProcessor("androidx.room:room-compiler:$room")

    // optional - Kotlin Extensions and Coroutines support for Room
    implementation("androidx.room:room-ktx:$room")

    // optional - RxJava2 support for Room
    implementation("androidx.room:room-rxjava2:$room")

    // optional - RxJava3 support for Room
    implementation("androidx.room:room-rxjava3:$room")

    // optional - Guava support for Room, including Optional and ListenableFuture
    implementation("androidx.room:room-guava:$room")

    // optional - Test helpers
    testImplementation("androidx.room:room-testing:$room")

    // optional - Paging 3 Integration
    implementation("androidx.room:room-paging:2.5.0-alpha02")

    // Google Sign In Integration
    implementation "com.google.android.gms:play-services-auth:20.2.0"

    implementation 'androidx.core:core-ktx:1.8.0'
    implementation "androidx.compose.ui:ui:$compose_version"
    implementation "androidx.compose.animation:animation-graphics:$compose_version"
    implementation "androidx.compose.material3:material3:$material3"
    implementation "androidx.compose.material3:material3-window-size-class:$material3"
    implementation "androidx.compose.ui:ui-tooling-preview:$compose_version"

    implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:$lifecycle"
    implementation "androidx.lifecycle:lifecycle-viewmodel-compose:$lifecycle"
    implementation "androidx.lifecycle:lifecycle-runtime-ktx:$lifecycle"
    implementation "androidx.lifecycle:lifecycle-viewmodel-savedstate:$lifecycle"
    kapt "androidx.lifecycle:lifecycle-compiler:$lifecycle"

    // optional - helpers for implementing LifecycleOwner in a Service
    implementation "androidx.lifecycle:lifecycle-service:$lifecycle"

    // optional - ProcessLifecycleOwner provides a lifecycle for the whole application process
    implementation "androidx.lifecycle:lifecycle-process:$lifecycle"

    // optional - ReactiveStreams support for LiveData
    implementation "androidx.lifecycle:lifecycle-reactivestreams-ktx:$lifecycle"

    // optional - Test helpers for LiveData
    testImplementation "androidx.arch.core:core-testing:2.1.0"

    // optional - Test helpers for Lifecycle runtime
    testImplementation "androidx.lifecycle:lifecycle-runtime-testing:$lifecycle"

    implementation "androidx.fragment:fragment-ktx:1.5.1"
    implementation "androidx.activity:activity-ktx:1.5.1"

    // https://github.com/Bryanx/themed-toggle-button-group
    implementation "nl.bryanderidder:themed-toggle-button-group:1.4.1"

    implementation 'androidx.activity:activity-compose:1.5.0'
    testImplementation 'junit:junit:4.13.2'
    androidTestImplementation 'androidx.test.ext:junit:1.1.3'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'
    androidTestImplementation "androidx.compose.ui:ui-test-junit4:$compose_version"
    debugImplementation "androidx.compose.ui:ui-tooling:$compose_version"
    debugImplementation "androidx.compose.ui:ui-test-manifest:$compose_version"
}

Confusing part: Kotlin version 1.6.10 but you appear to be using Kotlin version 1.7.10

>Solution :

I use 1.3.0-alpha02 with project gradle file as

buildscript {
    ext {
        compose_version = '1.3.0-alpha02'
    }
}// Top-level build file where you can add configuration options common to all sub-projects/modules.
plugins {
    id 'com.android.application' version '7.2.1' apply false
    id 'com.android.library' version '7.2.1' apply false
    id 'org.jetbrains.kotlin.android' version '1.7.0' apply false
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

app module gradle file

android {
    // Rest ...
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
    kotlinOptions {
        jvmTarget = '1.8'
    }
    buildFeatures {
        compose true
    }
    composeOptions {
        kotlinCompilerExtensionVersion '1.2.0'
    }

}

But your error log says you should change

id 'org.jetbrains.kotlin.jvm' version '1.7.10' apply false 

to

id 'org.jetbrains.kotlin.android' version '1.6.10' apply false

for Compose version 1.1.1 but latest stable version is 1.2.1 you can update your version if there is no version constraint to it then update other dependencies according to that.

Add a comment

Leave a Reply

Keep Up to Date with the Most Important News

By pressing the Subscribe button, you confirm that you have read and are agreeing to our Privacy Policy and Terms of Use

Discover more from Dev solutions

Subscribe now to keep reading and get access to the full archive.

Continue reading