본문 바로가기
Android/Exceptions

Duplicate class com.google.common.util.concurrent.ListenableFuture found in modules guava-20.0.jar (com.google.guava:guava:20.0)

by featherwing 2020. 4. 12.
반응형

앱을 빌드할때 Duplicate class ---- found in modules ---- 로 나타나는 메시지가 보여지며 빌드가 되지 않는 경우가 있습니다. 

 

Duplicate class 오류는 사용한 외부라이브러리에서 참고하는 하위 라이브러리들 중 버전이 다른 라이브러리가 존재 할때 발생합니다.

 

커맨드 라인에 gradlew app:dependencies 를 입력한 뒤 일일이 찾아내는 방법이 있는데,

 

자세한 내용은 나중에 다루도록 하겠습니다.

 

어쨌건, Guava 라이브러리는 구글의 코어라이브러리로, 여기저기서 많이 참고하는 라이브러리인데,

 

해당 오류가 뜨며 빌드가 되지 않아 이걸 도대체 어떻게 찾아야 되는지 헤멨습니다.

 

Stack Overflow 등 여러 해외포럼에서도 살펴보니 제법 많은 개발자들이 오류로 고생하고 있었습니다.

 

여러가지 답변들이 있었는데, 최근에 구글에서 해당 문제를 인지했는지, 다음과 같은 방법으로 수정할 수 있게 되었습니다.

 

app단의 build.gradle에 아래의 라이브러리를 추가해주면 오류없이 성공적으로 빌드할 수 있습니다.

 

implementation 'com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava'

 

Reference : Duplicate class com.google.common.util.concurrent.ListenableFuture found in modules guava-20.0.jar (com.google.guava:guava:20.0)

 

반응형

댓글