Room DB 오류: AppDatabase_Impl이 존재하지 않습니다.

 Kotlin은 Android Room 사용을 테스트합니다. 코루틴에서 Room.databaseBuilder를 호출하면 오류가 보고됩니다.

AppDatabase_Impl does not exist

개발자 문서를 확인해 보니 문서에 맞게 구성되어 있었는데, 곰곰이 생각해보니 개발자 문서에 문제가 있다는 걸 발견했습니다.

dependencies {
    val room_version = "2.4.3"

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

    // To use Kotlin annotation processing tool (kapt)
    kapt("androidx.room:room-compiler:$room_version")
    // To use Kotlin Symbol Processing (KSP)
    ksp("androidx.room:room-compiler:$room_version")

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

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

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

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

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

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

위의 개발자 문서에서는 이를 제공하지만 종속성을 추가할 때 종속성 중 하나는 다음과 같습니다.

 kapt("androidx.room:room-compiler:$room_version")

문제는 여기에 있습니다.kapt에 대한 종속성은 있지만 kapt 플러그인은 없습니다. 

마지막 해결책:

다음과 같이 앱 gradle.build의 구성을 수정하고 플러그인 kotlin-kapt를 추가합니다.

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

그런 다음 공간과 관련된 다음 세 가지 종속성을 확인합니다.

  implementation("androidx.room:room-runtime:2.4.3")
    annotationProcessor("androidx.room:room-compiler:2.4.3")
    kapt("androidx.room:room-compiler:2.4.3")

Supongo que te gusta

Origin blog.csdn.net/Jason_HD/article/details/127088896
Recomendado
Clasificación