2015-04-20 3 views
0

Я настроил следующие зависимости в Gradle, внутри Android Studio.Ошибка разрешения зависимостей с Gradle, в проекте Android

compile 'com.google.code.gson:gson:2.2.4' 
compile files('libs/android-support-v13.jar') 
compile files('libs/apache-mime4j-storage-0.7.2.jar') 
compile files('libs/commons-cli-1.1.jar') 
compile files('libs/commons-io-1.2.jar') 
compile files('libs/httpclient-4.3.4.jar') 
compile files('libs/httpcore-4.3.2.jar') 
compile files('libs/httpmime-4.3.4.jar') 
compile files('libs/rabbitmq-client.jar') 
compile files('libs/retrofit-1.7.1.jar') 
compile files('libs/universal-image-loader-1.9.3-with-sources.jar') 
compile 'com.actionbarsherlock:actionbarsherlock:[email protected]' 
compile 'com.google.android.gms:play-services:7.0.0' 

Но Gradle дает мне следующую ошибку:

Execution failed for task ':app:dexDebug'. 

Error:Execution failed for task ':app:dexDebug'. 
> com.android.ide.common.internal.LoggedErrorException: Failed to run command: 
    D:\AS sdk\build-tools\21.1.2\dx.bat --dex --no-optimize --output C:\Users\ttuser\ASProjects\MyProject\app\build\intermediates\dex\debug --input-list=C:\Users\ttuser\ASProjects\MyProject\app\build\intermediates\tmp\dex\debug\inputList.txt 
Error Code: 
    2 
Output: 
    UNEXPECTED TOP-LEVEL EXCEPTION: 
    com.android.dex.DexException: Multiple dex files define Landroid/support/annotation/AnimRes; 
     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:303) 
     at com.android.dx.command.dexer.Main.run(Main.java:246) 
     at com.android.dx.command.dexer.Main.main(Main.java:215) 
     at com.android.dx.command.Main.main(Main.java:106) 

Как я могу решить эту проблему?

+0

Возможный дубликат [Несколько файлов dex определяют Landroid/support/v4/accessibilityservice/AccessibilityServiceInfoCompat] (http://stackoverflow.com/questions/20989317/multiple-dex-files-define-landroid-support-v4-accessibilityservice- доступность) – aga

ответ

1

app:dexDebugerror in general means that you've tried to link in the duplicate class to your project more than once. Так удалить ваш Дубликат Библиотека

+1

Я знаю, но я не могу найти библиотеку deplicate –

0

Я не знаю, если вы поняли это еще, но, видя, как все те общедоступные библиотеки, я предлагаю, чтобы избавиться от баночек и получать их как зависимость от JCenter/Maven Central. Если вы не знаете, как это сделать, вот пример. Одна библиотеки вы используете дооснащение, так что вы бы перейти на сайт как Maven Central (http://search.maven.org/) и искать библиотеку и получить зависимость Gradle для вашей версии (http://search.maven.org/#artifactdetails|com.squareup.retrofit|retrofit|1.7.1|jar):

compile 'com.squareup.retrofit:retrofit:1.7.1' 

ли это для всех ваши зависимости. После того, как вы их настроить, как Gradle зависимостей вместо баночек, вы можете делать то, что описано здесь: https://stackoverflow.com/a/21100040/2245921

В принципе, перейдите в ваш: папку приложения через терминал и выполните следующие действия:

../gradlew -q dependencies 

И Gradle будет рисовать дерево зависимостей. Там вы сможете увидеть дубликаты зависимостей и более легко справиться с ними.