android – 未指定的顶级例外:java.lang.IllegalArgumentException:已添加

我是 Android的新手,试图启动正在构建和部署的项目.但是每次尝试从eclipse启动应用程序时,我会收到以下错误
UNEXPECTED TOP-LEVEL EXCEPTION:
java.lang.IllegalArgumentException: already added: Lcom/.../model/AvailabilityRequest$DAY_TIME_PREFERENCE;
[2012-02-06 17:32:11 - main-app] Dx     at com.android.dx.dex.file.ClassDefsSection.add(ClassDefsSection.java:123)
[2012-02-06 17:32:11 - main-app] Dx     at com.android.dx.dex.file.DexFile.add(DexFile.java:163)
[2012-02-06 17:32:11 - main-app] Dx     at com.android.dx.command.dexer.Main.processClass(Main.java:486)
...
[2012-02-06 17:32:11 - main-app] Dx     at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
[2012-02-06 17:32:11 - main-app] Dx 1 error; aborting
[2012-02-06 17:32:11 - main-app] Conversion to Dalvik format Failed with error 1

我为这个愚蠢的事情杀了大量的时间.显然,这是已知的问题,但对我来说没有任何效果.
我拥有的:

操作系统 – OS X,这很重要我认为;
IDE – eclipse 3.7.1
ADT – 版本:15.0.1.v201111031820-219398
构建工具 – Maven

到目前为止我已经尝试过
属性 – > Java Build Path->除去Android x.y.z之外的所有库的库,然后Maven->更新项目配置,也清理项目;
– 魔法关闭并重新开启日食;
删除和重新创建项目及其库的舞蹈(根据错误消息的文本,有一些重复的源,它们位于主项目中使用的2个库之一).

之后的一个变体(通常是第一个)它开始工作,但我可以花20分钟使其工作或几个小时…,今天我根本无法做到这一点.

任何想法将不胜感激.

解决方法

如果您的Eclipse类路径包含多个相同名称/包的类,ADT将抛出一个异常.在这种情况下,它遇到Maven依赖关系中的AvailabilityRequest类的多个实例.

您可以通过查找哪些类路径依赖关系在其中包含相同的类文件解决此问题(按Ctrl-Alt-T并输入AvailabilityRequest将执行此操作).

然后,您可以在m2e POM编辑器中打开POM,然后转到“依赖关系层次”选项卡.这将允许您选择无关的依赖关系,您可以通过右键单击并选择“排除Maven Artifact …”来排除这些依赖关系,这将自动添加<排除>元素到您的POM.这将从Eclipse类路径中删除重复的JAR,并允许您构建项目.

此外,您应该注意添加到POM中的依赖关系.

相关文章

Android性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...