본문 바로가기
프로그래밍/Android

[Android]DataBinding 오류잡기

by 돌및쓰고 2020. 8. 20.

데이터 바인딩을 통해 RecyclerView를 bind하려고 작업하던 중

@BindingAdapter()를 쓰기위해

apply plugin: 'kotlin-kapt'를 추가하게 되었는데

org.jetbrains.kotlin.gradle.internal.KaptExecution

오류가 나기 시작했다

 

인터넷에 관련 자료를 찾아봐도 

JAVA 버전이 1.8로바꾸면 해결된다는 게시글 외에 별다른 해결책을 찾지 못했고

 

결국 @BindingAdapter()를 추가하기 전으로 상태를 되돌렷는데

이번에는 

data binding error: cannot find symbol class ... Impl
MalformedByteSequenceException: 1  (  ) 1    Ʈ UTF-8

이 두가지 에러가 나오기 시작했다

clean project와 cache초기화를 해도 문제는 해결되지않았고

하나씩 작성한 코드를 살펴보던도중

android:onClick="{() -> viewmodel.onclick()}"

이 부분이 원인임을 알 수있었고 XML파일에서 잘못된 문법으로 작성된 부분이 있다면 컴파일 단계에서

위와 같은 에러를 뿜어낸다

 

데이터 바인딩을 사용하다 위와 같은 에러가 발생한다면

xml에서 오류를 찾아보길 바랍니다

추가적으로 인코딩이 잘못된 경우에도 위에러가 발생합니다.

 

데이터바인딩이 코드를 줄여 가독성과 결합도를 줄여주지만

이렇게 오류가 나도 정확한 어디서 에러나는지 알 수 없는점은 단점이라고 생각된다

 

 

댓글