2014-03-04 82 views
1

从今天上午开始,我试图在Android Studio中管理一个来自gradle的错误,但是我无法解决它。与Android gradle项目冲突

这是错误:

Gradle tasks [:app:assembleDebug] 
UNEXPECTED TOP-LEVEL EXCEPTION: 
1 error 
0 warnings 
Execution failed for task ':app:dexDebug'. 
> com.android.ide.common.internal.LoggedErrorException: Failed to run command: 
    C:\AndroidIDES\sdk\build-tools\19.0.1\dx.bat --dex --output C:\PMSL\Patovideos\app\build\dex\debug C:\PMSL\Patovideos\app\build\classes\debug C:\PMSL\Patovideos\app\build\dependency-cache\debug C:\PMSL\Patovideos\app\build\pre-dexed\debug\classes-d5d5a5f0ee3aa349db97373276cdf4ce1d756400.jar C:\PMSL\Patovideos\app\build\pre-dexed\debug\support-v4-19.0.1-4d62c5c6d8c8b8a26f02df44b7278821a9f5af4b.jar C:\PMSL\Patovideos\app\build\pre-dexed\debug\universal-image-loader-1.9.1-a1273e57a1a8b916291dfb13a6906d801ad6594f.jar C:\PMSL\Patovideos\app\build\pre-dexed\debug\universal-image-loader-1.9.1-javadoc-a86f634bf1d1005314ba37126bfafdad8f979c7c.jar C:\PMSL\Patovideos\app\build\pre-dexed\debug\universal-image-loader-1.9.1-sources-c2bc28216be226462ec688d3a3cc65fb947e01c5.jar C:\PMSL\Patovideos\app\build\pre-dexed\debug\universal-image-loader-1.9.1-with-sources-699e086d09eb3ee375070763bee8e42cdcacabc4.jar 
Error Code: 
    2 
Output: 
    UNEXPECTED TOP-LEVEL EXCEPTION: 
    com.android.dex.DexException: Multiple dex files define Lcom/nostra13/universalimageloader/cache/disc/DiscCacheAware; 
     at com.android.dx.merge.DexMerger.readSortableTypes(DexMerger.java:594) 
     at com.android.dx.merge.DexMerger.getSortedTypes(DexMerger.java:552) 
     at com.android.dx.merge.DexMerger.mergeClassDefs(DexMerger.java:533) 
     at com.android.dx.merge.DexMerger.mergeDexes(DexMerger.java:170) 
     at com.android.dx.merge.DexMerger.merge(DexMerger.java:188) 
     at com.android.dx.command.dexer.Main.mergeLibraryDexBuffers(Main.java:439) 
     at com.android.dx.command.dexer.Main.runMonoDex(Main.java:287) 
     at com.android.dx.command.dexer.Main.run(Main.java:230) 
     at com.android.dx.command.dexer.Main.main(Main.java:199) 
     at com.android.dx.command.Main.main(Main.java:103) 

这是的build.gradle

apply plugin: 'android' 

android { 
    compileSdkVersion 18 
    buildToolsVersion '19.0.1' 

    defaultConfig { 
     minSdkVersion 10 
     targetSdkVersion 19 
     versionCode 1 
     versionName "1.0" 
    } 
    buildTypes { 
     release { 
      runProguard false 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt' 
     } 
    } 
} 

dependencies { 
    compile 'com.android.support:support-v4:19.0.1' 
    compile 'com.android.support:appcompat-v7:19.0.1' 
    compile fileTree(dir: 'libs', include: ['*.jar']) 
} 

在哪里?错误请帮助我...我正在撕裂我的头发

回答

1

这个错误意味着它正在尝试在您的APK中包含类别com.nostra13.universamimateloader.cache.disc.DiscCacheAware。我不确定这个班是从哪里来的。如果它是你的来源中的东西,确保你没有在那里两次。如果它是一个库依赖项,那么你的libs文件夹中可能有两个罐子包含这个类 - 查看它们并确保你没有把它加倍到某个地方。

如果您一直在改变依赖关系和库,那么构建可能会处于不良状态,并且执行清理并重建会修复它。这可能不是问题所在,但尝试一下很快。

+0

我有Unisersal-Image-Loader库,它们是4个罐子。 jar,source-jar,javadoc等。 – MAOL

+3

是的,就像我说的那样,有多个jar必须定义这个类。尝试拿出除主要罐子以外的所有东西。 –

+0

谢谢@ScottBarta您节省了我的时间......将AndroidStudio更新至3.0后发生此问题 – Srihari