-
Android) A failure occurred while executing org.jetbrains.kotlin.gradle.internal.KaptExecution 에러Android 2020. 9. 15. 13:36
- 안드로이드에서 로컬 DB로 Room을 사용하다가 위의 에러가 발생하였습니다.
- 에러만 읽고 build.gradle에 apply kapt를 선언 안해준건가 하고 봤는데, 그 문제가 아니었습니다.
- 에러의 파란 박스로 둘러싼 저 부분을 클릭하면 더 자세한 에러 내용을 알 수 있습니다.
- 에러를 읽어보면 Room Dao 코드를 작성중에 발생한 것으로 예상되어 Dao를 확인하러 가보겠습니다.
KeyWordDao라는 Dao를 만들던 중에 파란 박스로 둘러쌓인 @Insert 어노테이션 안에 함수를 만들고 파라미터를 주지 않고
다른 코드를 작성하고 있었습니다. 나중에 파라미터를 주려고 생각하다가 까먹고 run을 돌렸더니 위와 같은 에러가 발생하였습니다.
Room에 관한 문서를 읽어보니
@Insert 할 때 @Entity 또는 컬렉션 또는 배열과 함께 매개 변수를 전달해야합니다.
- 즉 매개 변수를 적고 전달해줘야 합니다.
- Kapt error는 Room과 관련된 것이 많지만, 다양하게 발생하기 때문에 골치 아픈 에러 중 하나인 것 같습니다.
※ 간혹 Kapt error가 로그에 나오지 않는 경우가 발생합니다.
이때 팁으로 안드로이드 스튜디오에서 Analyze -> Inspect Code 를 클릭하면 현재 프로젝트의 각종 Warings와 Errors들이 나옵니다.
혹은 gradle->app->Tasks->Build->assemble 을 클릭하면 에러를 볼 수 있습니다.
반응형'Android' 카테고리의 다른 글
Android) 안드로이드 최신 소식/기술 받아보기 (0) 2020.12.01 Android) Android Studio 단축키 설정 변경하는 방법 (0) 2020.09.16 Android) BottomSheetDialogFragment 모서리 둥글게 만들기 (0) 2020.09.06 Android) Fragment에서 Activity의 finish() 메소드 구현하기 (0) 2020.09.06 Android) android.dataBinding.enabled' is obsolete and has been replaced with 'android.buildFeatures.dataBinding (0) 2020.08.20