Kotlin Android Build시 Rejecting re-init?

2021. 12. 27. 10:26Android/Exception handling

안드로이드 프로젝트를 진행하다가, 옛날에는 잘 됐던 부분에서 갑자기 오류가 발생하기 시작했다.

이 오류는 간헐적으로 발생하기도 하였으며, 다시 빌드하여 실행하거나, 다시 켰을 경우 50% 확률로 아래 오류가 발생하는 것이다.

rejecting re-init on previously-failed class java.lang.class<T>: 
java.lang.exceptionininitializererror: (throwable with no stack trace)

당장 실행은 되니 급할 때 무시하고 했었는데, 이제는 슬슬 거슬리기 시작해서 오류를 찾아보기 시작했다.

 

오류의 원인은 안드로이드에서 com.android.support의 지원을 하지 않고, androidx의 appcompat을 지원하기 시작하면서 발생한 것으로 확인된다.

 

이 오류를 해결해주기 위해선 아래 의존성을 추가해주면 된다.

implementation("androidx.appcompat:appcompat:1.4.0")
implementation("androidx.core:core-ktx:1.7.0")

뒤에 버전은 최신 안정화 버전을 갖고오면 된다.

 

https://developer.android.com/jetpack/androidx/releases/core

https://developer.android.com/jetpack/androidx/releases/appcompat

 

근데 위 오류를 고치고 나면 또 다른 오류가 발생했는데, 해당 오류에 대해선 다음 포스팅에서 다뤄보도록 하겠다.