在Eclipse中的Android应用程序中,我得到了以下错误。
意想不到的顶级异常: java.lang.IllegalArgumentException:已添加:Lorg/xmlpull/v1/XmlPullParser; .... 转换到Dalvik格式失败,错误1
此错误仅在向项目添加特定的外部JAR文件时出现。我花了很长时间寻找可能的解决方案,但没有一个可行。
我甚至尝试将Android 1.6而不是1.5(我目前使用的版本)。
在Eclipse中的Android应用程序中,我得到了以下错误。
意想不到的顶级异常: java.lang.IllegalArgumentException:已添加:Lorg/xmlpull/v1/XmlPullParser; .... 转换到Dalvik格式失败,错误1
此错误仅在向项目添加特定的外部JAR文件时出现。我花了很长时间寻找可能的解决方案,但没有一个可行。
我甚至尝试将Android 1.6而不是1.5(我目前使用的版本)。
当前回答
以前我有Android SDK构建工具18.1.1和Windows XP。然后我的应用程序就正常运行了。
但是我把我的系统更新到Windows 7,还把Android SDK构建工具更新到19,以拥有最新的配置。
但是我的项目有xercesImpl-2.9.1.jar文件,所以当我开始运行我的应用程序与新的/更新的配置,我得到
Conversion to Dalvik format failed with error 1 while parsing org/apache/xerces/impl/xpath/regex/ParserForXMLSchema.class
所以我遍历了所有提到的这个问题的答案,但无法解决。我想了4天,然后我发现了这个链接,救了我的命,读了这篇文章后,我才知道这个问题是由于xercesimpll -2.9.1.jar与Android SDK构建工具到19。
所以我把它降级为Android SDK Build tools到18.1.1。我解决了这个问题。
我把我的答案贴在这里,这样如果有人遇到这个问题,他们就能解决它。
这让我很沮丧。希望能帮助别人。
其他回答
我用另一种方法找到了解决办法。 https://stackoverflow.com/a/14948244/1014288
多亏了这个,你可以修复没有删除和东西
每次出现这种错误时,简单地清理项目对我来说都很有效。
我遇到了这个问题,但我的解决办法是双重的。 1)。我不得不在项目->属性-> Android下添加一个Android目标版本。 2)。我没有所有的“第三方插件”。点击AVD SDK管理器下的可用软件包->第三方附加组件->谷歌公司。我下载了所有的sdk,这解决了我的问题。
我的问题是Ant + ProGuard + AdMob SDK库+ Debug模式的集成。我正在使用Ant构建调试APK,并将AdMob SDK JAR添加到libs/目录。Eclipse正常生成调试APK,但Ant不能。我得到了如下错误。
[应用]意想不到的顶级异常: [apply] java.lang.IllegalArgumentException: already added: Lcom/谷歌/ads/AdActivity; [应用]在com.android.dx.dex.file.ClassDefsSection.add(ClassDefsSection.java:123)
我还在build.xml中为调试构建打开了ProGuard(默认是关闭的):
<target name="-debug-obfuscation-check">
<property name="proguard.enabled" value="true"/>
</target>
这就是问题所在。不知何故,ProGuard和AdMob SDK在调试模式下无法共存。ProGuard没有混淆AdActivity类,所以它出现在bin/ ProGuard / obfusated . JAR中,但同样的类存在于AdMob SDK JAR文件中。Eclipse在没有ProGuard的情况下构建调试APK,所以它工作得很好。
所以我的解决方案是关闭ProGuard来调试build.xml中的构建。 我希望它能帮助到一些人。
我知道这个问题已经有答案了,但这是我的解决方案:
我的Android项目来自一个Subversion存储库,我刚刚做了Checkout as a New project。我必须手动将我的库(Android和Java)添加到构建路径,否则它不会让我编译。然后我就会得到上面的错误。
我必须创建一个新的Android项目,然后手动复制更改。