물에 살고싶은 개발자

Android Studio에서 'Duplicate class' 에러 해결하기 본문

Android

Android Studio에서 'Duplicate class' 에러 해결하기

돼지사랑 2023. 7. 28. 11:28

안녕하세요, 오늘은 Android Studio에서 발생하는 'Duplicate class' 에러에 대해 이야기하고, 이 문제를 해결하는 방법을 공유하려고 합니다. 이 에러는 종종 라이브러리 간의 버전 충돌로 인해 발생하며, 특히 Kotlin 표준 라이브러리와 관련된 경우가 많습니다. 그럼 이 문제를 어떻게 해결할 수 있는지 알아보겠습니다.

해결 방법
이 문제를 해결하는 가장 간단한 방법은 Gradle의 의존성 해결 전략을 사용하여 프로젝트 전체에서 동일한 Kotlin 표준 라이브러리의 버전을 사용하도록 설정하는 것입니다. build.gradle 파일에 다음 코드를 추가하면 됩니다

configurations.all {
    resolutionStrategy.eachDependency { details ->
        if (details.requested.group == "org.jetbrains.kotlin"
            && details.requested.name.startsWith("kotlin-stdlib")) {
            details.useVersion "1.7.21"
        }
    }
}


이 코드는 모든 의존성을 검사하고, 요청된 의존성이 Kotlin 표준 라이브러리인 경우 해당 의존성의 버전을 1.7.21로 설정합니다. 이렇게 하면 프로젝트 전체에서 동일한 Kotlin 표준 라이브러리의 버전을 사용하도록 강제할 수 있습니다.

그리고 나서 Gradle을 동기화하고 프로젝트를 다시 빌드해 보세요. 이렇게 하면 'Duplicate class' 에러가 해결되어야 합니다.

에러의 원인
이 'Duplicate class' 에러는 어떻게 발생하는 걸까요? 이 에러는 라이브러리 간의 버전 충돌로 인해 발생합니다. 예를 들어, 프로젝트에서 사용하는 Kotlin 표준 라이브러리의 버전이 1.7.21인데, 다른 라이브러리가 내부적으로 사용하는 Kotlin 표준 라이브러리의 버전이 1.8.10인 경우 이런 에러가 발생할 수 있습니다.

이런 상황에서는 두 개의 다른 버전의 Kotlin 표준 라이브러리가 동시에 존재하게 되므로, 동일한 클래스를 정의하는 두 개의 라이브러리 모듈이 충돌하게 됩니다. 이 때문에 'Duplicate class' 에러가 발생하는 것입니다.

마치며
'Duplicate class' 에러는 라이브러리 간의 버전 충돌로 인해 발생하는 문제이며, 이 문제를 해결하는 방법은 다행히도 간단합니다. Gradle의 의존성 해결 전략을 사용하여 프로젝트 전체에서 동일한 라이브러리 버전을 사용하도록 설정하면 됩니다.

이 포스트가 'Duplicate class' 에러에 직면한 개발자들에게 도움이 되길 바랍니다. 다음에 또 다른 팁과 해결 방법으로 찾아뵙겠습니다. 감사합니다!

Comments