2015-10-14 172 views
1
[2015-10-14 17:48:05 - Dex Loader] Unable to execute dex: Multiple dex files define Lorg/apache/commons/codec/binary/Base64; 
[2015-10-14 17:48:05 - MyApplication] Conversion to Dalvik format failed: Unable to execute dex: Multiple dex files define Lorg/apache/commons/codec/binary/Base64; 

我知道這是因爲我的兩個jar文件包含相同的類Base64。但它們是兩個完全不同的jar文件,一個是org.apache.httpcomponents.httpclient_4.3.6.jar,另一個是indooratlas-android-sdk-1.4.2-132-beta.jar無法執行dex:多個dex文件定義Lorg/apache/commons/codec/binary/Base64;

而且我需要同時使用這兩個庫,並且需要避免上述錯誤。希望可以有人幫幫我。

我已經閱讀了this和幾乎所有相關的鏈接。

FACT

我不認爲這是上述問題的重複,因爲我在尋找從這個錯誤中可能的新途徑恢復。

回答

1

對此的一種可能的解決方案是使用HttpClient port for Android

差異與股票版本的Apache的HttpClient
的..從共享編解碼器
3. Base64編碼的實施方案替換了Android Base64編碼。

HttpClient不會包含commons-codec的Base64,並且您的應用程序不會有多個Base64類的定義。

此外,由於您在應用程序中包含commons-codec庫,請務必閱讀my blogpost以防止潛在的意外行爲(更具體地說,運行時崩潰)。

+0

我已經從一個.JAR文件中刪除了Base64類,現在它像一個魅力一樣工作。謝謝你的回覆。 –

相關問題