- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我已经看到很多关于此错误的线程,但没有一个能涵盖我的奇怪情况。首先是基础知识:
我有 6 个项目,所有这些都是模拟我的应用程序结构的缩减测试项目,我使用它们只是为了让构建工作。它们的依赖关系如下:
当我在 Windows 上本地使用 ant 构建这些应用程序时,它们运行良好,我可以使用 install test
运行测试。当我尝试在运行 Linux 的 CI 服务器上构建它们时,我收到了可怕的“已添加”错误消息。
-dex:
[dex] Converting compiled files and external libraries into /apps/pos360/jenkins/.hudson/jobs/James-Test/exampleLibUser/bin/classes.dex...
[dx]
[dx] UNEXPECTED TOP-LEVEL EXCEPTION:
[dx] java.lang.IllegalArgumentException: already added: Lcom/example/nester/WidgetPartDeux;
[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]
[dx] UNEXPECTED TOP-LEVEL EXCEPTION:
[dx] java.lang.IllegalArgumentException: already added: Lcom/example/lib/Widget;
[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] 2 errors; aborting
我可以查看 classes.jar 文件并看到 exampleLibNester2 正在将这些类拉入其 jar,但我不知道如何防止它这样做,也不知道为什么它在 linux 机器上而不是在 windows 上这样做一。两个 SDK 都已更新到最新版本。
最佳答案
据我所知,Android 构建的项目结构从 R14 开始发生了变化。
根据这篇文章,我建议查看您的项目构建路径并删除所有以 _src 结尾的文件夹: @foxykeep : How to fix the "conversion to Dalvik format failed" .尽管错误名称错误,但堆栈跟踪是相同的错误并且看起来是相同的问题。
关于android - Ant 构建失败,出现 "UNEXPECTED TOP-LEVEL EXCEPTION (already added)",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11655405/
我有一个最大堆和一个最小堆,其中最大堆的最大元素小于或等于最小堆的最小元素。 我现在想移动最小堆的最小元素成为最大堆的最大元素。 一种方法是弹出最小堆的顶部元素并将其插入最大堆。 有没有更有效的方法来
关闭。这个问题需要details or clarity .它目前不接受答案。 想改进这个问题吗? 通过 editing this post 添加细节并澄清问题. 关闭 3 年前。 Improve
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit th
我遇到过几篇(机器学习分类问题)期刊论文提到使用 Top-N 方法评估准确性。数据显示,在相同的训练、测试条件下,Top 1 准确率 = 42.5%,Top-5 准确率 = 72.5%。请问这个top
我是 js 和 vue 的初学者,我正在建立一个网站来自动化我的比萨店交付订单。 我有一个 v-for 浇头列表,客户可以从列表中最多选择 4 个浇头,他可以选择 2、3 或 4 次相同的浇头。 我为
Kubernetes top (kubectl top) 命令显示的内存使用情况与在 pod 内运行的 Linux top 命令不同。 我创建了 k8s 部署,其中 YAML 包含以下内存限制: re
linear-gradient() 的浏览器实现已经发展到支持 top 和 to top 作为 anchor 值。它们是同向还是相反? 最佳答案 它们相反。 to top 在元素底部使用第一个颜色参数
我有一个 HTML 对象: 1:1 但出于某种原因...当我通过以下代码在 jQuery 中访问它的 top 属性时: $tile = $('[data-x=1][data-y=1]');
这是我关于 stackoverflow 的第一个问题,如果我没有做对所有事情,请多多包涵。如果我可以更好地格式化它,请告诉我。 我正在完成 TOP 2nd CSS Margin/Padding 练习。
我正在尝试使我的登录页面与 css 保持一致。但是,我在两个属性 margin-top 和 top 之间遇到了问题。 margin-top倾向于根据第一个元素推送登录页面,而top只是登录页面的位置。
我正在构建一个 jQuery 表单字段验证器,目前我正致力于在 CSS 中构建弹出通知。 问题是,无论 margin 的应用如何,我都无法让 .notification-point 与 .notifi
假设我们有 3 个方法:方法 2 从方法 1 调用,方法 3 从方法 2 调用。方法 2 和 3 的大小均为 30 个字节码。此外,为了确定性,假设方法 2 总是从方法 1 调用一次,而方法 3 总是
我有几千条记录,我需要分批更新它们,每批更新 350 条记录。 我想知道以下两个更新语句是否有任何区别,其中一个是否会运行得更快,使用更少的数据库资源等。 语句1: UPDATE TOP (350)
目前我正在为一个元素开发一个 PSD 设计,在那个设计中,一个部分有一个完全不同的形状来吸引人的外观。 为了创建该形状,我创建了一个 svg 文件并将其用作背景并通过 absolute 属性定位该部分
我有 sticky-top 类的元素侧边栏和 div: .... 当侧边栏是粘性的时候,我需要传递一个边距,因为 sticky-t
我不希望他们处于同一水平。它们都是独立的div。侧边栏是固定的。为什么侧边栏不粘在顶部而不是与文章 div 对齐? body{ margin: 0; padding: 0; } div
似乎最好只为顶级函数创建一次 FunPtr,而不是在需要时创建一个新的函数(同一函数)并处理其释放。 除了 foreign import ccall "wrapper" 之外,我是否忽略了获取 Fun
希望得到一些指点,我有一个问题:我需要向具有 Clusterrole:view 的用户添加什么角色/权限才能让该用户在 kubectl 中使用“top node”和“top pod”命令?我们在 1.
我的情况非常简单: 我有一个名为 FullTextPagina 的表值函数,定义如下: select * from Pagina as p where contains(p.PageText, @te
这个问题已经有答案了: Use variable with TOP in select statement in SQL Server without making it dynamic [dupli
我是一名优秀的程序员,十分优秀!