android - 两个 Android 库重复同一个 jar - Ant 构建错误

标签 android ant

我有一个项目使用两个独立的 Android 库。它们每个都包含 Android 支持包,因此 Ant 构建在“dex”步骤失败:

   [dx] UNEXPECTED TOP-LEVEL EXCEPTION:
   [dx] java.lang.IllegalArgumentException: already added: Landroid/support/v4/accessibilityservice/AccessibilityServiceInfoCompat;
   [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:95)
   [dx] 1 error; aborting

我该怎么办?

我打算将其中一个 jar 文件移出 -post-compile 目标中的 libs 文件夹。然后在 dex 步骤完成后将其移回。 你有什么建议?

更新: 我试图将支持包从 -post-compile 目标中的一个库中移出,但由于另一个原因它仍然失败。这个 jar 已经包含在 dex 任务处理的路径中。而且 dex 任务无法打开删除的 jar。

最佳答案

修复已在 ADT-r17 预览版中实现。

更多细节在这里: http://tools.android.com/recent/dealingwithdependenciesinandroidprojects

关于android - 两个 Android 库重复同一个 jar - Ant 构建错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9791569/

相关文章:

Java - 信号事件模式

当涉及到焦点时,Android 画廊项目会抽搐

Java Ant - 如何传递 ProGuard 任务参数并在配置文件中使用它们?

java - Ivy 不会发布到我的本地存储库

android - 如何让 Ant 忽略(某些)可绘制目录

java - 比较Android按钮的文本

android - 在没有 LAUNCHER 类别的 Android list 中有 android.intent.action.MAIN 是什么意思?

java - org.json.JSONArray 类型为 0 处的值 [] 无法在 android 中转换为 JSONObject?

ant - 如何将参数传递给ant脚本?

java - Apache Ivy 。未检索到传递依赖项