개요
Room은 안드로이드에서 SQLite를 손쉽게 사용하게 만드는 미들웨어입니다. Room을 가이드에 따라 진행 시 다음과 같은 에러를 접할 수 있습니다.
Could not find method kapt() for arguments
해결 방법
kapt를 모두 annotationProcessor으로 바꾸어 주세요.
바꾸기 전
def room_version = "2.5.0"
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"
바꾼 후
def room_version = "2.5.0"
implementation "androidx.room:room-runtime:$room_version"
annotationProcessor "androidx.room:room-compiler:$room_version"
// To use Kotlin annotation processing tool (kapt)
annotationProcessor "androidx.room:room-compiler:$room_version"
// To use Kotlin Symbol Processing (KSP)
annotationProcessor "androidx.room:room-compiler:$room_version"
원인
kapt는 코틀린에서만 사용가능한 문법입니다. groovy에서 kapt와 동일한 문법은 annotationProcessor 입니다.
Annotation processors (see JSR 269 ) are supported in Kotlin with the kapt compiler plugin. https://kotlinlang.org/docs/kapt.html#use-in-gradle
따라서 groovy로 작성한 gradle 스크립트의 경우 kapt가 아닌 annotationProcessord을 써야 합니다.
참고 자료
'프로그래밍 > 안드로이드 <Kotlin>' 카테고리의 다른 글
[android] intent ACTION_OPEN_DOCUMENT 사용 시 EXTRA_INITIAL_URI 활용하여 특정 디렉토리 열기 (1) | 2023.12.08 |
---|---|
[android] firebase com.google.android.gms.common.api.ApiException: 10: 에러 해결 (1) | 2023.11.23 |
[android] xmlns android, app 이해 (2) | 2023.11.22 |
[Gradle] unexpected element <property> found in <manifest><application> 문제 해결하기 (0) | 2023.09.17 |
[Kotlin] 알고리즘 풀이를 위한 코틀린 코드 템플릿 (0) | 2023.08.23 |