0

I am trying to build a Kotlin manga application through Android Studio, but I get an error like Error

I tried googling, but I could not find anything other than an article on SOF, if I understood correctly, this does not work for me build.gradle(:app)

plugins {
id 'com.android.application'
id 'kotlin-android'
id 'kotlin-kapt'
id 'kotlin-parcelize'
}

android {
compileSdkVersion 31
buildToolsVersion '30.0.3'

defaultConfig {
    applicationId 'org.nkno.yumu'
    minSdkVersion 21
    targetSdkVersion 31
    versionCode 374
    versionName 'beta1'
    generatedDensities = []
    testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"

    kapt {
        arguments {
            arg 'room.schemaLocation', "$projectDir/schemas".toString()
        }
        generateStubs = true
    }
}
compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_8
    targetCompatibility JavaVersion.VERSION_1_8
}
buildTypes {
    debug {
        applicationIdSuffix = '.debug'
    }
    release {
        multiDexEnabled false
        minifyEnabled true
        shrinkResources true
        proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
    }
}
buildFeatures {
    viewBinding true
}
sourceSets {
    androidTest.assets.srcDirs += files("$projectDir/schemas".toString())
}
lintOptions {
    disable 'MissingTranslation'
    abortOnError false
}
testOptions {
    unitTests.includeAndroidResources = true
    unitTests.returnDefaultValues = false
}
}
tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile).all {
   kotlinOptions {
      jvmTarget = JavaVersion.VERSION_1_8.toString()
      freeCompilerArgs += [
             '-Xopt-in=kotlinx.coroutines.ExperimentalCoroutinesApi',
    ]
   }
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar', '*.aar'])
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.5.2'
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.5.2'

implementation 'androidx.core:core-ktx:1.7.0'
implementation 'androidx.activity:activity-ktx:1.4.0'
implementation 'androidx.fragment:fragment-ktx:1.4.0'
implementation 'androidx.lifecycle:lifecycle-runtime-ktx:2.4.0'
implementation 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.4.0'
implementation 'androidx.lifecycle:lifecycle-livedata-ktx:2.4.0'
implementation 'androidx.lifecycle:lifecycle-service:2.4.0'
implementation 'androidx.lifecycle:lifecycle-process:2.4.0'
implementation 'androidx.constraintlayout:constraintlayout:2.1.2'
implementation 'androidx.swiperefreshlayout:swiperefreshlayout:1.1.0'
implementation 'androidx.recyclerview:recyclerview:1.2.1'
implementation 'androidx.viewpager2:viewpager2:1.1.0-beta01'
implementation 'androidx.preference:preference-ktx:1.1.1'
implementation 'androidx.work:work-runtime-ktx:2.7.1'
implementation 'com.google.android.material:material:1.4.0'
//noinspection LifecycleAnnotationProcessorWithJava8
kapt 'androidx.lifecycle:lifecycle-compiler:2.4.0'

implementation 'androidx.room:room-runtime:2.3.0'
implementation 'androidx.room:room-ktx:2.3.0'
kapt 'androidx.room:room-compiler:2.3.0'

implementation 'com.squareup.okhttp3:okhttp:4.9.1'
implementation 'com.squareup.okio:okio:2.10.0'
implementation 'org.jsoup:jsoup:1.14.3'

implementation 'com.hannesdorfmann:adapterdelegates4-kotlin-dsl:4.3.1'
implementation 'com.hannesdorfmann:adapterdelegates4-kotlin-dsl-viewbinding:4.3.1'

implementation 'io.insert-koin:koin-android:3.1.4'
implementation 'io.coil-kt:coil-base:1.4.0'
implementation 'com.davemorrissey.labs:subsampling-scale-image-view-androidx:3.10.0'
implementation 'com.github.solkin:disk-lru-cache:1.3'

debugImplementation 'com.squareup.leakcanary:leakcanary-android:2.7'

testImplementation 'junit:junit:4.13.2'
testImplementation 'com.google.truth:truth:1.1.3'
testImplementation 'org.json:json:20210307'
testImplementation 'org.jetbrains.kotlinx:kotlinx-coroutines-test:1.5.2'
testImplementation 'io.insert-koin:koin-test-junit4:3.1.4'

androidTestImplementation 'androidx.test:runner:1.4.0'
androidTestImplementation 'androidx.test:rules:1.4.0'
androidTestImplementation 'androidx.test:core-ktx:1.4.0'
androidTestImplementation 'androidx.test.ext:junit-ktx:1.1.3'
androidTestImplementation 'androidx.room:room-testing:2.3.0'
androidTestImplementation 'com.google.truth:truth:1.1.3'
}

Sorry for the wrong formatting) Full error message:

e: C:\Users\USER\Desktop\Yumu-manga\app\build\tmp\kapt3\stubs\debug\error\NonExistentClass.java:3: error: Dao class must be annotated with @Dao
public final class NonExistentClass {
             ^

So far I'm new to Kotlin, but I'm pretty good at Java. I use Room in this project. app\build\tmp\kapt3\stubs\debug\error\NonExistentClass.java

package error;

public final class NonExistentClass {
}

error message 2

error: Dao class must be an abstract class or an interface
Zorome
  • 106
  • 8
  • 1
    Does the class `NonExistantClass` exist in your code? Can you show it? – dan1st Dec 24 '21 at 14:26
  • You appear to be trying to use Room, and the Room compiler thinks that you are trying to use `NonExistentClass` as a Room DAO, without it having the `@Dao` annotation. – CommonsWare Dec 24 '21 at 14:30
  • Other people have this error with a non-existent class. https://stackoverflow.com/questions/45099688/error-error-nonexistentclass-kotlin-in-multi-module-dagger-project – Zorome Dec 24 '21 at 14:31
  • @CommonsWare Could it be a little simpler?) – Zorome Dec 24 '21 at 14:32
  • 3
    Are you actually using Room in your project? If the answer is "yes", then you might want to update your [mcve] to show how you are using Room, so perhaps we can get an idea of how the Room compiler is getting confused. If the answer is "no", then perhaps you might want to remove the Room dependencies from `build.gradle`, until such time as you start using Room. In other words, the Room compiler will not generate errors if you are not using the Room compiler. – CommonsWare Dec 24 '21 at 14:36
  • Yes, i use Room – Zorome Dec 24 '21 at 14:44
  • Thank) I'll try – Zorome Dec 24 '21 at 14:44

0 Answers0