2015-01-27 3 views
17

Zendesk 모바일 sdk를 maven 저장소를 통해 내 프로젝트에 통합 했으므로 더 이상 빌드되지 않습니다. 그것은 내가 사용하고있는 picasso 라이브러리와 어떤 종류의 충돌이 있습니다. 나는 빌드하는 동안이 오류를 얻을 : 나는 응용 프로그램 폴더에 ../gradlew dependencies를 실행Gradle Duplicate Entry : java.util.zip.ZipException

Error:Execution failed for task ':app:packageAllDebugClassesForMultiDex'. 
> java.util.zip.ZipException: duplicate entry: com/squareup/picasso/Action$RequestWeakReference.class 

이 내가 젠 데스크 모듈에서 찾을 것입니다 :

\--- com.zendesk:sdk:1.0.0.1 
    +--- com.squareup.retrofit:retrofit:1.4.1 
    | \--- com.google.code.gson:gson:2.2.4 
    +--- com.squareup.picasso:picasso:2.3.2 
    +--- com.android.support:support-v4:20.0.+ -> 21.0.3 (*) 
    \--- com.android.support:appcompat-v7:20.0.+ -> 21.0.3 (*) 

그래서 젠 데스크는 사용 피카소하지만 다른 버전보다 내 프로젝트에 뭐가 있는지.

compile (group: 'com.zendesk', name: 'sdk', version: '1.0.0.1'){ 
      exclude group: 'com.squareup.picasso' 
     } 

을하지만,이 앱의 다른 구성 요소에서 런타임 예외가 발생합니다 :이 같은 젠 데스크에서 피카소를 제외했습니다. 라이브러리와 전혀 관련이없는 클래스에 대해 NoDefFoundError를 얻습니다.
누구든지이 문제를 해결하는 방법을 알고 있습니까?

+1

하면 사용하는 완전한 "build.gradle"파일을 게시 할 수 있을까? 감사. – AndroidGuy

답변

26

com.android.support:multidex 종속성을 추가하면 실제로 다른 종속성과 충돌하는 일부 종속성이 추가되었습니다.

내가하여 해결 : 당신은 "RequestWeakReference.class"을 경우, 클래스 검색
---------------
1 (안드로이드 스튜디오에서 바로 Ctrl 키를 누르 Windows의 경우 + N, Mac의 경우 CMD-O)
2. 어떤 jar 파일이 들어 있는지 확인하십시오 - Android Studio가 팝업에이 파일을 작성합니다.
3. 모든 예를 들어, 빌드에서 제외 :

android { 
    configurations{ 
     all*.exclude module: 'servlet-api' 
    } 
} 
+8

거기에 동일한 문제가 java.util.zip.ZipException : 중복 항목 : com/google/gson/annotations/Expose.class 좀 도와주세요. 나는이 설정 (모든 * .exclude 모듈 : 'gson-2.1')을 넣는다. –

+0

@RamBabuPudari 나는 Expose.class와 동일한 문제에 직면하고있다. 어떤 해결책을 찾았습니까? – Rohan

+0

@Tomer 이것은 나를 위해 일했습니다. 내 프로젝트 중 하나에서 Android Studio에서 발리를 사용할 때 비슷한 문제가 발생했습니다. –

관련 문제