android

Android Configuration with name 'kapt' not found


I'm trying to use Realm database on my project i add

classpath "io.realm:realm-gradle-plugin:5.9.0"

to build.gradle

and

apply plugin: 'realm-android'

to module build.gradle, after click on sync i get this error:

Configuration with name 'kapt' not found.

build.gradle content:

buildscript {
    ext.kotlin_version = '1.3.21'
    repositories {
        google()
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.2.0'
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
        classpath 'com.jakewharton.hugo:hugo-plugin:1.2.1'
        classpath 'com.novoda:bintray-release:0.9'
        classpath "io.realm:realm-gradle-plugin:5.9.0"
        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        google()
        jcenter()
        maven { url "https://jitpack.io" }
    }
}

build.gradle module content:

apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
apply plugin: 'com.jakewharton.hugo'
apply plugin: 'com.novoda.bintray-release'
apply plugin: 'realm-android'
apply plugin: 'kotlin-kapt'

android {
    compileSdkVersion 28

    defaultConfig {
        applicationId "xx.xxxxx.xxxxxxxx"
        minSdkVersion 21
        versionCode 1
        versionName "1"
        vectorDrawables.useSupportLibrary = true
        multiDexEnabled = true
        javaCompileOptions {
            annotationProcessorOptions {
                includeCompileClasspath false
            }
        }
    }

    dataBinding {
        enabled = true
    }

    packagingOptions {
        exclude 'META-INF/DEPENDENCIES.txt'
        exclude 'META-INF/LICENSE.txt'
        exclude 'META-INF/NOTICE.txt'
        exclude 'META-INF/NOTICE'
        exclude 'META-INF/LICENSE'
        exclude 'META-INF/DEPENDENCIES'
        exclude 'META-INF/notice.txt'
        exclude 'META-INF/license.txt'
        exclude 'META-INF/dependencies.txt'
        exclude 'META-INF/LGPL2.1'
        exclude 'META-INF/rxjava.properties'
    }

    buildTypes {
        release {
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

/* IMPORTANT : 
 * Be careful when update dependencies, different version library may caused error */

dependencies {
    implementation fileTree(include: ['*.jar'], dir: 'libs')
    //noinspection GradleCompatible
    implementation 'com.android.support:appcompat-v7:28.0.0'
    implementation 'com.android.support:design:28.0.0'
    implementation 'com.android.support:cardview-v7:28.0.0'
    implementation 'com.android.support:recyclerview-v7:28.0.0'
    implementation 'com.android.support:support-v13:28.0.0'
    implementation 'com.android.support.constraint:constraint-layout:1.1.3'
    implementation 'com.android.support:support-vector-drawable:28.0.0'
    implementation 'com.android.support:support-v4:28.0.0'
    // google maps library ------------------------------------------------------------------------
    implementation 'com.google.android.gms:play-services:12.0.1'

    // google gson --------------------------------------------------------------------------------
    implementation 'com.google.code.gson:gson:2.8.4'
    // third party dependencies 
    implementation 'com.github.smart-fun:TabStacker:1.0.4'
    implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
    implementation 'org.jetbrains:annotations-java5:15.0'      // add this line
    implementation 'com.fatboyindustrial.gson-jodatime-serialisers:gson-jodatime-serialisers:1.2.0'

    implementation 'com.github.armcha:AutoLinkTextView:0.3.0'
    implementation "com.github.bumptech.glide:glide:4.8.0"
    annotationProcessor "com.github.bumptech.glide:compiler:4.8.0"

    implementation 'io.reactivex.rxjava2:rxandroid:2.1.0'
    implementation 'io.reactivex.rxjava2:rxjava:2.2.4'
    implementation 'com.squareup.retrofit2:adapter-rxjava:2.2.0'
    implementation 'com.google.dagger:dagger:2.15'
    annotationProcessor 'com.google.dagger:dagger-compiler:2.10'
    implementation 'com.google.dagger:dagger-android:2.15'
    implementation 'com.google.dagger:dagger-android-support:2.10'
    annotationProcessor 'com.google.dagger:dagger-android-processor:2.10'
    implementation 'com.google.code.gson:gson:2.8.4'
    implementation 'com.jakewharton.timber:timber:4.7.1'
    implementation('io.socket:socket.io-client:1.0.0') {
        exclude group: 'org.json', module: 'json'
    }
    implementation 'com.birbit:android-priority-jobqueue:2.0.1'
    implementation 'com.github.onehilltech.concurrent:concurrent-android:0.8.1'
    implementation 'com.balysv.materialmenu:material-menu:2.0.0'
    implementation 'com.squareup.picasso:picasso:2.71828'
    implementation 'com.android.support:multidex:1.0.3'
    implementation 'com.jakewharton:butterknife:8.5.1'
    annotationProcessor 'com.jakewharton:butterknife-compiler:8.5.1'
    implementation 'com.blankj:utilcode:1.22.10'
    implementation 'com.ncapdevi:frag-nav:3.0.0'
    implementation 'com.daimajia.easing:library:1.0.0@aar'
    implementation 'com.daimajia.androidanimations:library:1.1.2@aar'
    implementation 'com.nineoldandroids:library:2.4.0'
    implementation 'org.parceler:parceler-api:1.1.8'
    annotationProcessor 'org.parceler:parceler:1.1.8'
    implementation 'com.squareup.retrofit2:retrofit:2.2.0'
    implementation 'com.squareup.retrofit2:converter-gson:2.2.0'
    implementation 'com.squareup.okhttp3:logging-interceptor:3.3.0'
    implementation 'com.pnikosis:materialish-progress:1.7'
    implementation 'org.greenrobot:eventbus:3.1.1'
    implementation project(path: ':bottomsheet-commons')
    implementation 'org.jsoup:jsoup:1.9.2'

    kapt "io.realm:realm-annotations-processor:5.9.0"
}

kapt {
    correctErrorTypes = true
}

repositories {
    mavenCentral()
}

configurations {
    cleanedAnnotations
    compile.exclude group: 'org.jetbrains', module: 'annotations'
}

Solution

  • I had the same issue but I was lacking the line

    apply plugin: 'kotlin-kapt'
    

    After briefly trying, I found that adding the line before apply plugin: 'realm-android' works for me.

    In my case the top part of my working build.gradle looks like this:

    apply plugin: 'com.android.library'
    apply plugin: 'kotlin-android'
    apply plugin: 'kotlin-android-extensions'
    apply plugin: 'kotlin-kapt'
    apply plugin: 'realm-android'
    

    So please try the following:

    apply plugin: 'com.android.application'
    apply plugin: 'kotlin-android'
    apply plugin: 'kotlin-android-extensions'
    apply plugin: 'kotlin-kapt'
    apply plugin: 'com.jakewharton.hugo'
    apply plugin: 'com.novoda.bintray-release'
    apply plugin: 'realm-android'
    

    And if that doesn't work, try moving the line directly above the apply realm plugin line (i.e. below the hugo and bintray plugins).