2014-10-21 5 views
1

nineoldandroid lib를 프로젝트에 추가하려고하지만 종속성 문제가 발생한 위치를 찾을 수 없습니다. 내 종속성 :Gradle에서 종속성 충돌을 찾는 방법

dependencies { 
    compile files('src/main/libs/guice-3.0-no_aop.jar') 
    compile files('src/main/libs/javax.inject-1.jar') 
    compile files('src/main/libs/roboguice-2.0.jar') 
    compile files('src/main/libs/junit-4.11.jar') 
    compile files('src/main/libs/hamcrest-core-1.3.jar') 
    compile 'com.squareup:otto:1.3.5' 
    compile 'com.google.android.gms:play-services:6.1.11' 
    compile 'com.android.support:support-annotations:20.0.0' 
    compile 'com.android.support:appcompat-v7:21.0.0' 
    compile 'com.android.support:support-v4:21.0.0' 
    compile 'com.google.code.findbugs:jsr305:1.3.9' 
    compile 'io.nlopez.smartlocation:library:2.0.7' 
    compile ('com.nineoldandroids:library:2.4.0'){ 
     exclude module: 'appcompat-v7' 
     exclude module: 'support-v4' 
     exclude module: 'support-annotations' 
     exclude group: 'com.google.android' 
     exclude group: 'com.google.android.*' 
     exclude group: 'com.google.code.findbugs' 
     exclude group: 'com.android.dx' 
    } 
    //compile project(':android-spinwheel') 
} 

오류가 나는 얻을 : 당신은 내가 모든 내가 생각할 수있는 제외 시도에서 볼 수 있듯이

Error:Execution failed for task ':app:dexDebug'. 
    > com.android.ide.common.internal.LoggedErrorException: Failed to run command: 
    /home/usr/soft/android-studio/sdk/build-tools/21.0.1/dx --dex --num-threads=4 --output /home/usr/vc/android-local/app/build/intermediates/dex/debug /home/usr/vc/android-local/app/build/intermediates/classes/debug /home/usr/vc/android-local/app/build/intermediates/dependency-cache/debug /home/usr/vc/android-local/app/build/intermediates/pre-dexed/debug/internal_impl-21.0.0-d8c58b966f1337ac583be7169abe38eafaaea523.jar /home/usr/vc/android-local/app/build/intermediates/pre-dexed/debug/hamcrest-core-1.3-42a42e6ec38e3a6ec6a99347d11a9296a04eca00.jar /home/usr/vc/android-local/app/build/intermediates/pre-dexed/debug/classes-3528df59bfffc0f1961007c5282087aa82de987f.jar /home/usr/vc/android-local/app/build/intermediates/pre-dexed/debug/guice-3.0-no_aop-91a65442530b2d5fb3bf96359d70d249985649f6.jar /home/usr/vc/android-local/app/build/intermediates/pre-dexed/debug/otto-1.3.5-c4d763fed0f5fe8a97ac31f49ba37d2cd1567ad8.jar /home/usr/vc/android-local/app/build/intermediates/pre-dexed/debug/classes-8250441981c0a4195e9e6068c3efdb149c0dedfd.jar /home/usr/vc/android-local/app/build/intermediates/pre-dexed/debug/classes-f112c8b8d83a64a7f22e07537d04c10f33f5ab35.jar /home/usr/vc/android-local/app/build/intermediates/pre-dexed/debug/jsr305-1.3.9-4b2d061766ae6ca309e240b50953cd2ffef968a0.jar /home/usr/vc/android-local/app/build/intermediates/pre-dexed/debug/roboguice-2.0-6654a0e822af0f9305ce06f00f0d4e61dfab50fd.jar /home/usr/vc/android-local/app/build/intermediates/pre-dexed/debug/classes-ae9e0725b0368edcf3df124ccecd0b5e1ad65358.jar /home/usr/vc/android-local/app/build/intermediates/pre-dexed/debug/javax.inject-1-f4b5053b6356ac4792c8e5f52c58c62ca27a07cb.jar /home/usr/vc/android-local/app/build/intermediates/pre-dexed/debug/junit-4.11-2882cc48337848b98707492071ee6cb29be1a828.jar /home/usr/vc/android-local/app/build/intermediates/pre-dexed/debug/library-2.4.0-75e51598c065016181fac0cecd368e796b5769a8.jar /home/usr/vc/android-local/app/build/intermediates/pre-dexed/debug/support-annotations-21.0.0-ecd4ef2c68ca29b6a76021f4c9ef5fc3656e79db.jar 
Error Code: 
2 
Output: 
UNEXPECTED TOP-LEVEL EXCEPTION: 
com.android.dex.DexException: Multiple dex files define Lcom/nineoldandroids/animation/Animator$AnimatorListener; 
at com.android.dx.merge.DexMerger.readSortableTypes(DexMerger.java:596) 
at com.android.dx.merge.DexMerger.getSortedTypes(DexMerger.java:554) 
at com.android.dx.merge.DexMerger.mergeClassDefs(DexMerger.java:535) 
at com.android.dx.merge.DexMerger.mergeDexes(DexMerger.java:171) 
at com.android.dx.merge.DexMerger.merge(DexMerger.java:189) 
at com.android.dx.command.dexer.Main.mergeLibraryDexBuffers(Main.java:454) 
at com.android.dx.command.dexer.Main.runMonoDex(Main.java:302) 
at com.android.dx.command.dexer.Main.run(Main.java:245) 
at com.android.dx.command.dexer.Main.main(Main.java:214) 
at com.android.dx.command.Main.main(Main.java:106) 

, 나는 그것을 올바른 방법을 사용하고 바랍니다.

답변

1

사용중인 SpinnerWheel 라이브러리에는 9oldandroids의 구 버전이 jar로 추가되어 있습니다. 이를 제거하고 업데이트 된 gradle 종속성을 추가하거나 기본 gradle 파일에 지정한 버전으로 jar를 업데이트해야합니다.

가장 최근 (이 글을 쓰는 시점에서) 나는 똑같은 일을하면서 같은 문제를 겪고있었습니다. 안드로이드 스튜디오가 libs 디렉토리를 숨겨서 항아리를 제거하기 위해 폴더로 이동해야했기 때문에 찾아야했다.

SpinnerWheel 라이브러리를 더 이상 사용하지 않는 경우 다른 종속성 중 하나에서 동일한 문제가 발생합니다.

1

너와 비슷한 문제가 있지만 Otto 라이브러리가 있습니다. 내 문제는 내가 내 libs 폴더에 항아리가 있고 maven repository에서 동일한 라이브러리의 다른 버전 (지점)을 추가했습니다. 내가이 중 하나를 제거하면이 문제는 해결되지만 둘 다 필요합니다. 그것은 내가 사용하고 싶어하기 때문이다 AndroidAnnotations

그러나 나는 내가 그것을 할 수있는 방법을 이해할 수 없다.

난 당신이 이런 식으로 해결할 수 있습니다 볼 수있는에서 문제로 돌아 가기 :

당신은 당신이 추가 한 라이브러리 중 하나가 nineoldandroids 라이브러리 종속성 충돌이있는 찾을 수있다. 하나씩 제거하고 그 중 어느 것이 있는지 찾아야합니다. 찾은 후에는이 두 라이브러리 간의 충돌을 해결하십시오.

이 정보가 도움이되기를 바랍니다.

관련 문제