안드로이드

안드로이드 java.util.zip.ZipException: duplicate entry: com/google/android/gms/gcm/PendingCallback.class

알통몬_ 2017. 6. 29. 14:53
반응형


안녕하세요 알통몬입니다.

공감 및 댓글은 포스팅 하는데 아주아주 큰 힘이 됩니다!!

포스팅 내용이 찾아주신 분들께 도움이 되길 바라며

더 깔끔하고 좋은 포스팅을 만들어 나가겠습니다^^

 


오늘 Firebase에서 만든 JobDispather 라는 걸 사용해서 개발을 하던 중 api 23, 24에서 테스트를 마치고

api 19에서 테스트를 해보려고 빌드를 하는데 ;;;;

갑작스럽게

java.util.zip.ZipException: duplicate entry: com/google/android/gms/gcm/PendingCallback.class

에러가 나타났씁니다;;;

머지;;; 하고 여기저기 찾아본 결과 해결방법을 찾았습니다.


우선 에러의 원인은 같은 기능을 하는 두 개의 라이브러리의 충돌 문제였는데요.

바로 아래 두 개의 라이브러리의 충돌 때문이었습니다.


compile 'com.google.firebase:firebase-messaging:10.2.4'
compile 'com.google.android.gms:play-services:10.2.4'

예전 gcm에서 사용되던 아래 라이브러리와 FCM에서 사용되는 위 라이브러리가 충돌돼서 그런거였더군요.

상위 api 버전들은 알아서 걸러내는 것 같으나, 하위 api 버전들은 걸러내지 못해서 에러가 발생한 듯 합니다.


무튼 아래 라이브러리를 지우고 다시 sync 하고 재빌드하니 아주 정상적으로 동작하는 걸 확인할 수 있었습니다.


이상입니다.


다음 포스팅에서는 JobService 대신에 사용할 수 있는 Firebase JobDispather 사용방법에 대해 포스팅하겠습니다!!


반응형