상세 컨텐츠

본문 제목

안드로이드 라이브러리 충돌 오류 해결

mobile/Android

by 개발잘하고싶은개발자 2022. 11. 5. 17:31

본문

<상황 및 오류 내용>
안드로이드 앱 개발중 fragment를 사용하려고 하던 중 다음과 같은 오류가 발생했다.


Duplicate class androidx.lifecycle.ViewModelLazy found in modules lifecycle-viewmodel-2.5.1-runtime (androidx.lifecycle:lifecycle-viewmodel:2.5.1) and lifecycle-viewmodel-ktx-2.3.1-runtime (androidx.lifecycle:lifecycle-viewmodel-ktx:2.3.1)
Duplicate class androidx.lifecycle.ViewTreeViewModelKt found in modules lifecycle-viewmodel-2.5.1-runtime (androidx.lifecycle:lifecycle-viewmodel:2.5.1) and lifecycle-viewmodel-ktx-2.3.1-runtime (androidx.lifecycle:lifecycle-viewmodel-ktx:2.3.1)

Go to the documentation to learn how to Fix dependency resolution errors.



<오류 원인>
androidx.lifecycle:lifecycle-viewmodel:2.5.1(자바 라이브러리)와 androidx.lifecycle:lifecycle-viewmodel-ktx:2.3.1(코틀린 라이브러리) 중에서 어느 라이브러리의 ViewModelLazy와 ViewTreeViewModelKt 클래스를 가져와야 하는지 컴파일러가 알 수 없어서 생긴 오류인 것 같다.



<해결 방법>
코틀린을 사용하여 개발하고 있기때문에 biuld.gradle파일의 dependencies항목에 다음과 같이 선언했더니 오류가 해결되었다.

dependencies {
    ...
    implementation 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.5.1'
    
}





[참고]