【发布时间】:2013-09-09 22:58:06
【问题描述】:
使用命令行运行!
在命令行mvn install android:deploy android:run 工作正常。
使用 Eclipse 运行失败并出现 dx 错误
我尝试使用 eclipse run as > Android Application 运行我的应用程序
然后,它总是因错误而失败
[2013-09-10 00:19:51 - facets-mvn-integ-test] Dx 处理“javax/xml/namespace/QName.class”时遇到问题:
我的 Eclipse 配置
我使用以下 pugin:
maven 3.0.4
http://i.stack.imgur.com/afZnG.png
(我在命令行中使用相同的二进制文件 - 但它也因 eclipse 嵌入而失败)
m2e 1.4.0 和 m2e 0.4.2 的 android 配置器
http://i.stack.imgur.com/Yz9Qk.png
当我使用私有库而不是 maven 时,它在 Eclipse 中工作......
如果我没有导出 Maven 依赖项,我没有任何 dx 错误,但我显然有 ClassNotFoundException
奇怪的事实是,当我不导出 maven 库但我将完全相同的 jar un lib 文件夹(例如使用 Andrdoid 私有库导出的库)时,它工作正常。
遗憾的是,这是一个可以接受的解决方案。
当我删除 android 依赖项时它在 Eclipse 中工作......
我会挖掘,但找不到任何解决方案:我在某处阅读以从 pom.xml 中删除 android 依赖项。它适用于 Eclipse !但显然,它不再适用于命令行。
这是我实际的 pom 依赖配置
<dependencies>
<dependency>
<groupId>com.google.android</groupId>
<artifactId>android</artifactId>
<version>4.1.1.4</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.jdom</groupId>
<artifactId>jdom</artifactId>
<version>1.1</version>
</dependency>
因此,如果有人遇到此问题,我们将不胜感激..
【问题讨论】:
-
注意:我注意到在 Eclipse 或 maven 命令行构建之后 bin 和目标文件夹是不同的。 - 在第一种情况下,目标是空的,但 bin 有一个名为 dexedLibs 的文件夹,其中包含我所有的库。 - 在第二种情况下,目标不为空,并且作为 classes.dex 文件。我猜是因为 dx 以成功结束
-
看起来您的 JDom 依赖项正在拉取受限 javax.xml 包中的类。您的日志中是否还有其他错误,例如完整的堆栈跟踪?