Today's

길을 나서지 않으면 그 길에서 만날 수 있는 사람을 만날 수 없다

모바일 앱(안드로이드)

안드로이드 앱 만들기 : Duplicate class androidx.lifecycle.ViewModelLazy 빌드 오류 대처 방법

Billcorea 2022. 9. 17. 22:59
반응형

빋드 오류

앱을 개발하는 동안 이런 오류가 나타납니다. gradle 파일에 선언된 implementation을 살펴보아도 lifecycle 과 연관된 것은 선언된 내용이 없습니다. 같은 class 내용이 여기저기에 있다는 내용이고, 작성한 코드가 아닌 참조하는 것들 중에서 중복이 나타난다는 의미입니다.

이런 경우는 아예 gradle 파일에 설정을 해 주는 것으로 해소를 했습니다.

implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:2.5.1"


현재는 이 버전에 최신 이기 때문에 이렇게 한 줄 추가해 주는 것으로 해소를 했습니다만, 최신 버전은 그때 그때 확인을 해 주셔야 할 것 같습니다.

빌드 끝

 

2022.10.02 또 한가지 다른 이유를 알게 되어 수정 합니다. 

https://developer.android.com/jetpack/androidx/migrate?hl=ko 

 

AndroidX로 이전  |  Android 개발자  |  Android Developers

AndroidX로 이전 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. AndroidX는 원래 지원 라이브러리 API를 androidx 네임스페이스의 패키지로 대체합니다. 패키지 및 M

developer.android.com

 위 링크에서 아래와 같은 설명이 있습니다 .gradle.properties 에 아래 옵션을 추가 하는 방법 입니다.

Android 스튜디오를 사용해 기존 프로젝트 이전

Android 스튜디오 3.2 이상에서는 메뉴 바에서 Refactor > Migrate to AndroidX를 선택하여 기존 프로젝트를 AndroidX로 이전할 수 있습니다.

리팩토링 명령은 두 개의 플래그를 사용합니다. 기본적으로 둘 다 gradle.properties 파일에서 true로 설정되어 있습니다.

 

android.useAndroidX=true

Android 플러그인은 지원 라이브러리 대신 적절한 AndroidX 라이브러리를 사용합니다.

 

android.enableJetifier=true

Android 플러그인은 바이너리를 다시 작성해 기존 타사 라이브러리를 자동으로 이전하여 AndroidX를 사용합니다.

 

설정하고 나서 signed bundle 이 build 된 결과 예시

 

반응형