[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
我不认为这是上述问题的重复,因为我正在寻找以可能的新方式从这个错误中恢复。
答案 0 :(得分:1)
一种可能的解决方案是使用HttpClient port for Android。
与Apache HttpClient的股票版本的区别
..
3. Commons Codec的Base64实现被Android Base64取代。
HttpClient将不包含commons-codec的Base64,并且您的应用程序不会有多个Base64类定义。
此外,由于您在应用程序中包含commons-codec
库,因此请务必阅读my blogpost以防止潜在的意外行为(更具体地说,运行时崩溃)。