【发布时间】:2013-02-08 08:52:02
【问题描述】:
我在使用 Ant 构建包含 ActionBarSherlock 的项目时遇到问题。
其实编译过程中剩下的bug如下
-dex:
[dex] Converting compiled files and external libraries into C:\ProjetsECLIPSE\SEMobile_BP\bin\classes.dex...
[dx]
[dx] UNEXPECTED TOP-LEVEL EXCEPTION:
[dx] java.lang.IllegalArgumentException: already added: Landroid/support/v4/app/Watson$OnCreateOptionsMenuListener;
[dx] at com.android.dx.dex.file.ClassDefsSection.add(ClassDefsSection.java:123)
[dx] at com.android.dx.dex.file.DexFile.add(DexFile.java:163)
[dx] at com.android.dx.command.dexer.Main.processClass(Main.java:486)
[dx] at com.android.dx.command.dexer.Main.processFileBytes(Main.java:455)
[dx] at com.android.dx.command.dexer.Main.access$400(Main.java:67)
[dx] at com.android.dx.command.dexer.Main$1.processFileBytes(Main.java:394)
[dx] at com.android.dx.cf.direct.ClassPathOpener.processArchive(ClassPathOpener.java:245)
[dx] at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:131)
[dx] at com.android.dx.cf.direct.ClassPathOpener.process(ClassPathOpener.java:109)
[dx] at com.android.dx.command.dexer.Main.processOne(Main.java:418)
[dx] at com.android.dx.command.dexer.Main.processAllFiles(Main.java:329)
[dx] at com.android.dx.command.dexer.Main.run(Main.java:206)
[dx] at com.android.dx.command.dexer.Main.main(Main.java:174)
[dx] at com.android.dx.command.Main.main(Main.java:91)
[dx] 1 error; aborting
我删除了我的 libs 文件夹中的每个文件“android-supportv4.jar”,并且在 Eclipse 中,我确保在我的库和我的主项目中没有指向该库的链接,但错误仍然存在。
我可以通过 Eclipse 构建我的项目,但 Ant 无法构建它(在调试或发布模式下)。
我尝试了 ant clean 并没有改变任何东西。
如何避免这个令人沮丧的错误?
【问题讨论】:
-
您是否拥有多个 Android 库项目(即 ActionBarSherlock 以及其他项目)?您使用的是当前版本的开发者工具吗?
-
我在版本 20 上使用 ADT,实际上我的项目有多个库。我有:-我的应用程序链接到一个库,而这个库链接到 actionBarSherlock
-
嗯...如果有多个 JAR 副本,则应触发构建工具检测并忽略或抱怨副本,使用 R20。不知道你遇到了什么。
-
当我“蚂蚁更新项目”我的库时我错过了什么吗?我应该将它们更新为库以使其正常工作吗?
标签: android ant actionbarsherlock