2012-12-14 43 views
3

在搜索的方式上传一张图片,我加了很多外部的JAR以下这个简单的解释:using-multipartentity-in-android-applications
但是当我尝试共同编译,我得到一个错误代码:Android的外部JAR发行

[2012-12-14 11:37:55 - Dex Loader] Unable to execute dex: Multiple dex files define Lorg/apache/http/ConnectionClosedException; 

我以前从未使用过外部库。有人能告诉我如何解决这个问题吗?

回答

4

可以在多个库中定义相同的类/类。这就是你得到这个错误的原因。您需要检查哪些类重叠,并通过重新组织或删除某些外部库来解决问题。

这也可能是一个日食问题。尝试清理你的项目。

请参阅以下主题:

Unable to execute dex: Multiple dex files define Lcom/myapp/R$array;

Unable to execute dex: Multiple dex files define

Error when building apk - "Multiple dex files define Lcom/google/ads/Ad"

+0

@Droidman ...你能告诉我你是如何解决这个问题的...... –

1

如果您在代码中键入

org.apache.http.auth.AUTH auth; 

某处,然后选择AUTH部分,右键点击它并点击声明>工作区,你会在声明这个类的地方。它在android.jar中,但在我的项目中,它也是在httpclient-4.x.x.jar的两个单独版本中(一个作为项目另一部分的依赖项添加)。

删除早期版本的httpclient-4.x.x.jar似乎已经解决了这个问题;你可能会发现你的项目中包含了多个库,声明这个类(android.jar除外),删除一个或多个也会有所帮助。

0

右键单击src和gen文件夹,然后选择构建路径>从构建路径中移除。然后右键单击>构建路径>用作源文件夹