2014-11-29 1 views
0

Multi dex files define Lcom/google/gdata/util/common/base/Escaper멀티 덱스 파일은 내가 위의 오류와 함께 붙어 Lcom/구글/GDATA/폴더의 유틸리티/일반/기본/탈옥수

을 정의합니다. 나는이 종속성을 추가하기 때문에 나는 내 안드로이드 프로젝트를 실행할 수 없습니다 오전 UserVoice의 SDK

compile 'com.uservoice:uservoice-android-sdk:+' 

에 종속성을 추가 한 후 오류가 ocured.

나는이 문제를 해결할 수있는 jarjar 명령에 대해 읽었습니다. http://pastebin.com/0m6b8Wyi

:

compile('com.crashlytics.sdk.android:crashlytics:[email protected]') { 
     transitive = true; 
    } 
    compile('com.twitter.sdk.android:twitter:[email protected]') { 
     transitive = true; 
    } 
    compile 'com.android.support:support-v4:21.0.0' 
    compile 'com.android.support:appcompat-v7:20.+' 
    compile 'com.google.android.gms:play-services-wearable:+' 
    compile 'com.github.manuelpeinado.fadingactionbar:fadingactionbar-abc:3.1.2' 
    compile 'com.squareup.retrofit:retrofit:1.7.1' 
    compile 'com.squareup.okhttp:okhttp-urlconnection:2.0.0' 
    compile 'com.squareup.okhttp:okhttp:2.0.0' 
    compile 'com.jakewharton:butterknife:5.1.2' 
    compile 'com.squareup.picasso:picasso:2.3.4' 
    compile 'com.melnykov:floatingactionbutton:1.0.5' 
    compile 'com.balysv.materialmenu:material-menu-abc:1.+' 
    compile 'de.keyboardsurfer.android.widget:crouton:[email protected]' 
    compile 'com.facebook.android:facebook-android-sdk:3.20.0' 
    compile 'com.joanzapata.android:android-iconify:1.0.8' 
    compile 'com.squareup:otto:1.3.5' 
    compile 'com.android.support:recyclerview-v7:21.+' 
    compile 'com.android.support:cardview-v7:21.+' 

Gradle을이 페이스트 빈을 depdencies :하지만 의존성 때문에 .aar librararies 내가 가능한 솔루션

어떤 도움이 크게 다른 depedencies의

목록을 감사 할 수있는 것을 모르고있다

+0

언제든지 유형 검색을 사용할 수 있습니다 ... Eclipse에서 ** Ctrl + Shift + T **, Android Studio에서 ** Ctrl + N **으로 생각합니다. 이클립스에서는 복제본의 경우 jar origin도 표시했습니다 ... 안드로이드 스튜디오에 대해서는 확실하지 않습니다 – TacB0sS

답변

2

발생하는 문제는 Escaper 클래스가 포함 된 두 가지 종속성이 있기 때문에 발생합니다. 이것들은 의존성의 의존성이 가장 높기 때문에 어느 것이 그 클래스를 포함하고 있는지 분명하지 않습니다. 오류가 발생하면 com.uservoice:uservoice-android-sdk:+에 클래스 Escaper이 포함되어 있는지 확인할 수 있습니다.

컴파일 종속성 중 하나의 종속성을 제외하여이 문제를 해결할 수 있습니다. Gradle docs을보고 "전이 의존성 제외"에 대한 내용을 아래로 스크롤하십시오. 주의해야 할 것은 종속성이 다른 버전이지만 동일한 클래스를 포함 할 수 있다는 사실입니다. 두 라이브러리가 동일한 버전의 Escaper 클래스에서 작동하는지 확인해야합니다.

+0

종속성이 도피를 사용하고 있는지 어떻게 확인할 수 있습니까? – sn0ep

+0

"gradlew dependencies"명령을 사용하여 프로젝트의 모든 종속성을 나열 할 수 있습니다. 이 출력 결과에서 제외해야 할 하나의 종속성을 찾을 수 있습니다. 이것은 전체 종속성과 관련된 정확한 클래스를 나열하지 않습니다. 일반적으로 Google은 정규화 된 클래스 이름을 사용하여 어떤 패키지인지 알 수 있습니다. 내가 추측해야만한다면 그것이 구아바의 일부라고 말할 것입니다. – Bobbake4

+0

depencies 명령을 실행했지만 문제를 확인할 수 없으므로 어쩌면 살펴볼 수 있습니까? 질문에 pastebin을 확인하십시오. 도피꾼이 구아바의 일부라는 사실에 대해 당신은 옳습니다. 그러나 내 의존성은 구아바에 의존하지 않습니다. 그리고 내 애플 리케이션에 그것을 사용하지 말아라. – sn0ep