无法执行dex:多个dex文件定义Lorg / apache / commons / codec / binary / Base64;

时间:2015-10-14 12:46:22

标签: android eclipse dex

[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

我需要同时使用这两个库,并且需要避免上述错误。希望有人能帮助我。

我已阅读this以及几乎所有相关链接。

FACT

我不认为这是上述问题的重复,因为我正在寻找以可能的新方式从这个错误中恢复。

1 个答案:

答案 0 :(得分:1)

一种可能的解决方案是使用HttpClient port for Android

  

与Apache HttpClient的股票版本的区别
  ..
  3. Commons Codec的Base64实现被Android Base64取代。

HttpClient将不包含commons-codec的Base64,并且您的应用程序不会有多个Base64类定义。

此外,由于您在应用程序中包含commons-codec库,因此请务必阅读my blogpost以防止潜在的意外行为(更具体地说,运行时崩溃)。