How to configure build.gradle.kts file in android programming

275 Views Asked by At

I have initiated an android project in kotlin and my gradle file has the .kts extension . I am trying to add room dependency but i have accountered an error . Here is what i've done :

 implementation("androidx.room:room-runtime:2.6.1")
implementation("androidx.room:room-ktx:2.6.1")
kapt("androidx.room:room-compiler:2.5.2")

and this is the error message i got : Unresolved reference: kapt

here is the content of the build.gradle.kts(:app) file :

 plugins {
    id("com.android.application")
    id("org.jetbrains.kotlin.android")

}

android {
    namespace = "com.yyyyy.xxxx"
    compileSdk = 34

    defaultConfig {
        applicationId = "com.yyyy.xxxx"
        minSdk = 29
        targetSdk = 34
        versionCode = 1
        versionName = "1.0"

        testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
    }

    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"
    }

    buildFeatures {
        viewBinding = true
        buildConfig = true
    }


}

    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")
        testImplementation("junit:junit:4.13.2")
        androidTestImplementation("androidx.test.ext:junit:1.1.5")
        androidTestImplementation("androidx.test.espresso:espresso-core:3.5.1")
    
        /* Navigation */
        implementation ("androidx.navigation:navigation-fragment-ktx:2.7.6")
        implementation ("androidx.navigation:navigation-ui-ktx:2.7.6")
    
        /* Room */
        implementation("androidx.room:room-runtime:2.6.1")
        implementation("androidx.room:room-ktx:2.6.1")
        kapt("androidx.room:room-compiler:2.5.2")
    
    
    }

how could i resolve this ???

1

There are 1 best solutions below

0
Florian Cramer On

You are missing the gradle plugin for kotlin annotation processor (KAPT). Add the following line to your plugins section and it should work.

    id("org.jetbrains.kotlin.kapt")

You might also have to set the plugin version to which ever Kotlin version you are using.

    id("org.jetbrains.kotlin.kapt") version("x.x.x")