2015-02-10 23 views
2

我是新手到Android Studio中,每次當嘗試運行我的應用程序,面對異常Android Studio中多DEX文件定義LCOM/ABC/XYZ/BuildConfig

Error:Execution failed for task ':abc:dexDebug'. 
com.android.ide.common.internal.LoggedErrorException: Failed to run command: 
/home/nik/Installs/adt-bundle-linux-x86_64-20140702/sdk/build-tools/21.1.2/dx --dex --no-optimize --output /home/nik/workspace/androidstudio/abc/build/intermediates/dex/debug --input-list=/home/nik/workspace/androidstudio/abc/build/intermediates/tmp/dex/debug/inputList.txt 


Error Code: 
2 


Output: 
UNEXPECTED TOP-LEVEL EXCEPTION: 
com.android.dex.DexException: Multiple dex files define Lcom/abc/xyz/BuildConfig; 
    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) 

嘗試很多像刪除BuildConfig文件的解決方案時等,但沒有運氣。大量的谷歌搜索後我才明白,與多個依賴文件相關的問題,但無法解決。

也可以嘗試命令 gradle這個-q依賴 但失敗,此錯誤

失敗:由於內部錯誤的建立中止。

此外,我想提一提我很努力我的項目從日食及其版本遷移成功運行建設 - 當> Android Studio中段改建工程

boxAndroidLibraryV2

dependencies { 


compile project(':boxJavaLibraryV2') 
compile 'com.android.support:support-v4:19.1.0' 
//compile 'com.android.support:support-v4:18.0.0' 
compile files('libs/commons-codec.jar') 
compile files('libs/commons-io-2.3.jar') 
compile files('libs/commons-lang-2.6.jar') 
compile files('libs/commons-logging-1.1.1.jar') 
compile files('libs/httpclient-cache-4.2.5.jar') 
compile files('libs/httpmime-4.2.5.jar') 
compile files('libs/jackson-annotations-2.0.0.jar') 
compile files('libs/jackson-core-2-1.0.0.jar') 
compile files('libs/jackson-databind-2-1.0.0.jar') 
} 

boxJavaLibraryV2

dependencies { 


compile files('libs/cglib-nodep-2.2.2.jar') 
compile files('libs/commons-codec-1.6.jar') 
compile files('libs/commons-io-2.3.jar') 
compile files('libs/commons-lang-2.6.jar') 
compile files('libs/commons-logging-1.1.1.jar') 
compile files('libs/easymock-3.1.jar') 
compile files('libs/httpclient-4.2.5.jar') 
compile files('libs/httpclient-cache-4.2.5.jar') 
compile files('libs/httpcore-4.2.4.jar') 
compile files('libs/httpmime-4.2.5.jar') 
compile files('libs/jackson-annotations-2.0.0.jar') 
compile files('libs/jackson-core-2-1.0.0.jar') 
compile files('libs/jackson-databind-2-1.0.0.jar') 
compile files('libs/junit-4.8.2.jar') 
compile files('libs/powermock-easymock-1.4.12-full.jar') 
compile files('libs/robolectric-1.2-20121030.213744-165-jar-with-dependencies.jar') 
} 

mylib

dependencies { 


compile 'com.android.support:support-v4:19.1.0' 
compile 'com.google.guava:guava:17.0' 
compile files('libs/commons-codec.jar') 
compile files('libs/sqlcipher.jar') 
} 

對myApp

dependencies { 


compile project(':boxAndroidLibraryV2') 
compile project(':liveSdk') 
compile project(':mylib') 
compile 'com.android.support:support-v4:19.1.0' 
compile 'com.google.http-client:google-http-client-gson:1.19.0' 
compile 'com.google.code.gson:gson:2.1' 
compile 'com.google.android.gms:play-services:+' 
compile files('libs/HockeySDK-3.0.2.jar') 
compile files('libs/dropbox-android-sdk-1.5.4.jar') 
compile files('libs/google-api-client-1.14.1-beta.jar') 
compile files('libs/google-api-client-android-1.14.1-beta.jar') 
compile files('libs/google-api-services-drive-v2-rev70-1.14.1-beta.jar') 
compile files('libs/google-http-client-1.14.1-beta.jar') 
compile files('libs/google-http-client-android-1.14.1-beta.jar') 
compile files('libs/google-oauth-client-1.14.1-beta.jar') 
compile files('libs/icu4j-4.8.1.jar') 
compile files('libs/in-app-purchasing-2.0.59.jar') 
compile files('libs/json_simple-1.1.jar') 

} 

我知道有些依賴是在箱庫中的多個像

編譯文件( '庫/公地IO-2.3.jar') 編譯文件(「庫/公-lang-2.6.jar')

,但如果我嘗試刪除這些不是面對異常

Error:(6, 29) error: package org.apache.commons.io does not exist 
Error:(80, 13) error: cannot find symbol variable IOUtils 
Error:(6, 32) error: cannot find symbol class CharEncoding 
Error:(57, 75) error: cannot find symbol variable CharEncoding 
Error:(58, 79) error: cannot find symbol variable CharEncoding etc... 

感謝您的任何建議

+0

的'多個DEX文件定義...'錯誤通常意味着你必須一式兩份庫您建立路徑。你能和我們分享你的項目依賴嗎? – 2015-02-10 10:04:57

+0

感謝您的回覆George D.現在您可以檢查依賴項 – nikhil 2015-02-10 10:23:33

+0

編譯文件('libs/google-api-client-1.14.1-beta.jar') 編譯文件('libs/google-api-client-android 'libs/google-http-client-1.14.1-beta.jar') 編譯文件('libs/google-http-client-android-1.14 .1-beta.jar')' 可能是其中一個衝突的庫,你可以嘗試一個一個的評論它們嗎? – 2015-02-10 10:28:53

回答

4

後,很多試驗

dexOptions { 
    preDexLibraries = false 
    javaMaxHeapSize "4g" 
} 

這個工作對我來說..的

+0

給我開心,謝謝 – 2016-10-27 03:11:34

相關問題