“在外部JAR上转换为Dalvik格式失败,错误为1”

时间:2010-04-21 06:47:06

标签: android dalvik android-sdk-1.6

在Eclipse的Android应用程序中,我收到以下错误。

  

意外的顶级例外:
  java.lang.IllegalArgumentException:已添加:Lorg / xmlpull / v1 / XmlPullParser;
  ....
  转换为Dalvik格式失败,错误1

仅当我将特定的外部JAR文件添加到项目时才会出现此错误。我搜索了很长时间以寻找可能的解决方案,但没有一种可行的解决方案可行。我甚至尝试更改为Android 1.6而不是1.5(我使用的当前版本)。

71 个答案:

答案 0 :(得分:825)

转到项目»属性»Java构建路径»库并删除除“Android X.Y”之外的所有内容(在我的案例中为Android 1.5)。单击确定。转到项目»清洁»清除下面选择的项目»选择项目,然后单击确定。这应该有用。

您的项目文件夹中也可能有一个JAR文件(我已将Admob JAR文件复制到我的src文件夹中),然后将其添加为Java Path Library。它没有显示在Package Explorer下,因此您没有注意到它,但它会被计算两次,导致可怕的Dalvik错误1。

另一个可能的原因可能是包名冲突。假设您在此包中有一个包com.abc.xyz和一个名为A.java的类,以及另一个包含相同com.abc.xyz.A.java的库项​​目(添加到此项目的依赖项中),那么您将得到完全相同的错误。这意味着,您有多个对同一文件A.java的引用,并且无法正确构建它。

在其他方面,如果您不小心或故意在手动编辑/添加类路径文件中的任何内容,可能会发生这种情况。在某些情况下,我们可能会手动将android.jar路径添加到类路径文件中以生成java doc.On删除该文件在javadoc生成的代码之后工作正常。如果还有任何问题仍然存在,请检查一下。

答案 1 :(得分:271)

我解决了这个问题。

这是一个JAR文件冲突。

我的构建路径上似乎有两个包含相同包和类的JAR文件。

smack.jarandroid_maps_lib-1.0.2

从其中一个JAR文件中删除此包解决了这个问题。

答案 2 :(得分:126)

Windows 7解决方案:

确认问题是由文件中的ProGuard命令行引起的 [Android SDK安装目录] \ tools \ proguard \ bin \ proguard.bat

编辑以下行将解决问题:

call %java_exe% -jar "%PROGUARD_HOME%"\lib\proguard.jar %*

call %java_exe% -jar "%PROGUARD_HOME%"\lib\proguard.jar %1 %2 %3 %4 %5 %6 %7 %8 %9

答案 3 :(得分:95)

您可以通过关闭菜单>轻松解决此问题(使用Eclipse Android Developer Tools,Build:v22.0.1-685705)。 “项目”>导出(un)签名的Android应用程序时“自动构建”。在那之后,别忘了再打开它。

答案 4 :(得分:53)

如果你有ADT修订版12+,你应该从4.4更新你的程序 - > 4.6(如here所述)。此外,您应该以原始形式保留... \ bin \ proguard.bat文件。

只需从网上下载,然后将lib文件夹从下载的包中复制到:

[Android SDK安装目录] \ tools \ proguard \ lib

答案 5 :(得分:40)

编辑(新解决方案):

看起来之前的解决方案只是旁路。我设法永远解决了这个问题: 在我的情况下,我的项目和我的项目中引用的Facebook项目中的android-support-v4文件不匹配。

我通过执行Lint Check(Android工具/运行Lint:检查常见错误)发现此错误

我之前的解决方案:

我在这个网站上尝试过任何可能的解决方案 - 没有任何帮助!!!

最后我在这里找到了答案: https://groups.google.com/forum/#!topic/actionbarsherlock/drzI7pEvKd4

简单步骤:

  

转到项目 - >取消选中自动构建

     

转到项目 - >清洁......,清理库项目和你的   应用项目

     

将自己的应用导出为已签名的APK,而自动构建仍然是   禁用

答案 6 :(得分:30)

这是另一个场景和解决方案:

如果在更新ADT for Eclipse后最近遇到此问题:

  1. 在您的应用项目中,检查指向您的图书馆项目的所有链接源文件夹(它们的名称格式为“LibraryName_src”)。
  2. 选择所有这些项目,右键单击,选择“构建路径” - >“从构建路径中删除”。
  3. 选择“同时取消文件夹与项目的链接”,然后点击“”。
  4. 清理,重建和重新部署项目。
  5. 似乎原因是某些以前版本的ADT将库项目源文件夹链接到“子”项目,并且当前的ADT / Dex组合不再与该解决方案兼容。

    编辑:这是由Android开发博客条目确认的,特别是this one - 请参阅第8段。

答案 7 :(得分:29)

转到项目,然后取消选中“自动构建”。然后尝试导出项目,错误消失。

答案 8 :(得分:27)

如果您已将Android.jar文件添加到构建路径,也可能是因为Eclipse中的意外快速修复,也会导致这种情况。右键单击 Project - >删除它构建路径 - > 配置构建路径 - > android.jar ,删除。

答案 9 :(得分:25)

每次出现此错误时,只需清理项目即可。

答案 10 :(得分:16)

我在测试所有解决方案四小时后发现的我自己唯一的解决方案是这里提供的许多解决方案的组合:

    来自Eclipse的
  • Delete项目
  • 从项目文件夹
  • 中删除\bin\gen中的文件
  • 将对库的引用删除到根项目文件夹
  • 中的.classpath文件中
  • 使用命令行重启Eclipse:eclipse -clean
  • Import项目
  • 右键点击项目 - 选择Properties> Java Build Path> Libraries并删除除Android XX.Y
  • 以外的所有内容
  • 最后clean项目,等待自动构建或Build
  • 发布,现在可以了!至少对我来说......

我一次尝试了每一步和许多组合,但只有所有步骤的连续性一次成功!我希望我不会再面对这个......

答案 11 :(得分:14)

对于仍然遇到此问题的其他人,他们已经尝试了上述答案,但仍然收到错误(这是我的情况),那么我的解决方案是从Eclipse中删除项目并再次重新导入。

这使得Android库再次添加到我引用的库中,所以现在我引用了两个Android JAR文件,因此我删除了其中一个,现在它编译得很好。

解决方案:从Eclipse IDE中删除项目,然后再次重新导入,然后检查上述解决方案。

答案 12 :(得分:10)

今天自己陷入这个问题。清理和重建并没有解决问题。删除和重新导入项目也无济于事。

我终于追溯到了我的.class文件的一个不好的补充。我认为当我试图解决另一个问题时,插件工具添加了这个,删除它摆脱了“转换为Dalvik格式失败,错误1”构建错误:

<classpathentry kind="lib" path="C:/dev/repository/android-sdk-windows/platforms/android-3/android.jar">
    <attributes>
        <attribute name="javadoc_location" value="file:/C:/dev/repository/android-sdk-windows/docs/reference"/>
    </attributes>
    <accessrules>
        <accessrule kind="nonaccessible" pattern="com/android/internal/**"/>
    </accessrules>

答案 13 :(得分:9)

对我来说,我的构建路径中出现了额外的JAR引用。我删除了这个,现在就可以了。

答案 14 :(得分:8)

我在项目中使用Sherlock ActionBar库时遇到了这个问题。 您可以执行以下步骤,它对我有效。

  1. 右键单击您的项目,选择属性。
  2. 将显示一个对话框,选择&#39; Java构建路径&#39;在左侧菜单上。
  3. 删除&#39; Android依赖关系&#39;和Android专用库&#39;在右侧面板上,然后单击“确定”
  4. 清理项目(选择菜单Project - &gt; Clean)
  5. 右键单击您的项目,选择Android Tools - &gt;修复项目属性
  6. 再次清理项目。
  7. 重新启动计算机
  8. 打开eclipse和Export apk
  9. 希望能帮助你。

答案 15 :(得分:8)

我的问题是由ADT版本12.0和ProGuard集成引起的。 此错误已有详细记录,解决方案在文档中

解决方案就在这里

ProGuard command line

答案 16 :(得分:7)

通常,当构建路径中存在不必要的JAR文件时,似乎会出现此问题。

我在IntelliJ IDEA工作时遇到了这个问题。对我来说,这是因为我添加了JUnitMockito库,这些库是在运行时编译的。这需要在模块属性中设置为“测试”。

答案 17 :(得分:7)

我发现了别的东西。 Android将/libs目录用于JAR文件。我曾经多次看到“转换为Dalvik格式失败并出现错误1”错误,总是在我的JAR文件中出错时。

现在我将Roboguice升级到更新的版本,方法是将新的JAR文件放在/libs目录中,并将类路径切换到新版本。这导致了Dalvik错误。

当我从/libs文件夹中删除其中一个Roboguice JAR文件时,错误消失了。显然,Android会从/libs中获取所有JAR文件,无论您在Java构建路径中指定哪些文件。我不记得确切,但我认为默认情况下,Android从Android 4.0开始使用/libs(Ice Cream Sandwich,ICS)。

答案 18 :(得分:7)

在我的情况下,问题实际上是OpenFeint API项目。我已将OpenFeint添加为库项目:

library project]![1]![Enter image description here

它也被添加到构建路径中,ADT工具16给出了此场景的错误。

右键单击您的项目并单击构建路径,配置构建路径,然后查看图像并从此处删除您的项目OpenFeint并完成所有操作:)

Enter image description here

答案 19 :(得分:7)

将Proguard更新到最新版本为我解决了这个问题。

  • 我的预备路径为C:\Program Files (x86)\Android\android-sdk\tools\proguard\
  • 我从here
  • 下载了新版本
  • 并替换了bin和lib文件夹

感谢上帝!

答案 20 :(得分:6)

所列出的解决方案都不适合我。

这是我遇到问题的地方:

我将jSoup外部JAR文件添加到项目的路径中,首先将其放在名为“libs”的源文件夹中,然后右键单击它,构建路径 - &gt;添加到构建路径。这引发了Dalvik转换错误。它说我已经“已经包含”了该JAR文件中的一个类。我环顾了项目的目录,发现“已经包含”的地方实际上是bin目录。我从bin目录中删除了JAR文件,并在Eclipse中刷新了项目,错误消失了!

答案 21 :(得分:6)

之前提出的解决方案都不适合我。就我而言,当我从引用库源代码文件夹切换到使用库JAR文件时,问题就出现了。 最初在Android应用程序项目Properties \ Android page \ Library部分下列出了一个Android库项目,该库也在项目资源管理器树中进行了比较,作为库源目录的链接。

首先,我刚从项目树中删除了目录链接,并将JAR库添加到构建路径中,但这导致了异常。

正确的程序是(在更改构建路径并将引用放回库源之后):

  • 通过从应用程序项目Properties \ Android页面实际删除引用来正确删除库源目录链接

  • 像往常一样将库JAR添加到应用程序项目构建路径。

答案 22 :(得分:5)

我使用的是Android 1.6并且有一个外部JAR文件。对我有用的是删除所有库,右键单击项目并选择 Android Tools - &gt; *修复项目属性(添加了Android 1.6),然后添加回外部JAR文件。

答案 23 :(得分:5)

我遇到了这个问题,因为Eclipse中的Android-Maven插件显然没有识别来自几个项目(包括Android库项目)引用两次的传递引用和引用,并且不止一次包含它们。我不得不使用hocus-pocus将所有内容都包括在内,即使Maven应该照顾这一切。

例如,我有一个核心库globalmentor-core,它也被globalmentor-google和globalmentor-android(后者是Android库)使用。在globalmentor-android pom.xml中,我必须将依赖关系标记为“已提供”,并将其排除在其中包含传递的其他库中:

    <dependency>
        <groupId>com.globalmentor</groupId>
        <artifactId>globalmentor-core</artifactId>
        <version>1.0-SNAPSHOT</version>
        <!-- android-maven-plugin can't seem to automatically keep this from being
             included twice; it must therefore be included manually (either explicitly
             or transitively) in dependent projects -->
        <scope>provided</scope>
    </dependency>

然后在最终的应用程序pom.xml中,我必须使用正确的技巧,只允许一个包含路径---以及 not 明确地包括核心库:

    <!-- android-maven-plugin can't seem to automatically keep this from being
        included twice -->
    <!-- <dependency> -->
    <!-- <groupId>com.globalmentor</groupId> -->
    <!-- <artifactId>globalmentor-core</artifactId> -->
    <!-- <version>1.0-SNAPSHOT</version> -->
    <!-- </dependency> -->

    <dependency>
        <groupId>com.globalmentor</groupId>
        <artifactId>globalmentor-google</artifactId>
        <version>1.0-SNAPSHOT</version>
        <exclusions>
            <!-- android-maven-plugin can't seem to automatically keep this from
                being included twice -->
            <exclusion>
                <groupId>com.globalmentor</groupId>
                <artifactId>globalmentor-core</artifactId>
            </exclusion>
        </exclusions>
    </dependency>

    <dependency>
        <groupId>com.globalmentor</groupId>
        <artifactId>globalmentor-android</artifactId>
        <version>1.0-SNAPSHOT</version>
    </dependency>

答案 24 :(得分:5)

我遇到了同样的问题,这些解决方案都没有奏效。 最后,我在控制台中看到错误是由于重复的类(现有项目中的一个,添加的jar文件中的一个):

java.lang.IllegalArgumentException: already added: package/MyClassclass;
[2011-01-19 14:54:05 - ...]: Dx1 error; aborting
[2011-01-19 14:54:05 - ...] Conversion to Dalvik format failed with error 1

因此,请检查您是否在项目中添加了带有重复类的jar。 如果是,请尝试删除其中一个。

它对我有用。

答案 25 :(得分:5)

上述所有解决方案对我都不起作用。我没有使用任何预编译的.jar。我正在使用LVL和Dalvik错误,这些都与市场许可库有关。

通过删除主项目并重新导入(从现有来源创建新项目)解决了这个问题。

答案 26 :(得分:5)

就我而言

project-&gt; properties-&gt; java build path - &gt;在顺序和导出选项卡 - &gt; 取消选中 android-support-v4.jar

答案 27 :(得分:5)

只需清理项目

如果这不起作用,请尝试其他解决方案

答案 28 :(得分:5)

通常对我来说,清理项目并不能解决这个问题。

但是在Eclipse中关闭项目然后重新打开它似乎确实在那些情况下修复了它......

答案 29 :(得分:5)

我遇到了这个问题,但我的解决方案是双重的。 1.)我必须在 project - &gt;下添加一个Android目标版本。 属性 - &gt; 的Android 。 2.)我没有谷歌的所有“第三方附加组件”。单击可用包下的AVD SDK管理器 - &gt; 第三方加载项 - &gt; Google Inc 。我下载了所有SDK,这解决了我的问题。

答案 30 :(得分:4)

在我的情况下,我添加了一个扩展jar。所以我将外部jar位置移动到Project Prop中的android引用顶部---&gt; Java buildPath ---&gt;项目引用

答案 31 :(得分:4)

这个答案基本上是很多人试图说的,但很多人可能都不理解。所以......

  

&#34;另一个原因可能是你的JAR文件位于某处   您的项目文件夹,然后将其添加为Java路径库。确实如此   没有出现在Package Explorer下,所以你没有注意到它,但它   会被计算两次,导致可怕的Dalvik错误。&#34;回答   1月2日&12;时间6:23 Rashmi.B

<强>含义:

如果你的 lib 文件夹中有这两个库(.jar): Libraries (.jar) in your *lib* folder

然后这两个文件夹也会添加到您的构建路径中: Libraries in your build path

表示他们被计算两次,从而导致错误!

<强>解决方案:

  1. 从构建路径中删除这些库 AND 删除&#34; Android依赖项&#34;以及: Remove libs that are in your *lib* folder from the build path!
  2. 清理所有项目
  3. 导出项目
  4. 享受! :)

答案 32 :(得分:4)

我的问题在于Ant + ProGuard + AdMob SDK库+调试模式的集成。我正在使用Ant构建调试APK并将AdMob SDK JAR添加到libs/目录。 Eclipse正常生成调试APK,但Ant无法生成。我收到了以下错误。

  

[apply]意外的顶级例外情况:   [apply] java.lang.IllegalArgumentException:已添加:Lcom / google / ads / AdActivity;   [apply] at 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/obfuscated.jar中未经过模糊处理,但AdMob SDK JAR文件中存在相同的类。 Eclipse正在构建没有ProGuard的调试APK,所以它工作正常。

所以我的解决方案就是在build.xml中关闭ProGuard以进行调试构建。 我希望它有所帮助。

答案 33 :(得分:4)

我知道它已经回答了,但这是我的解决方案:

我的Android项目来自Subversion存储库,我刚刚将Checkout作为新项目。我不得不手动将我的库(Android和Java)添加到构建路径,否则它不会让我编译。然后我会得到上述错误。

我必须制作一个新的Android项目,然后手动复制更改。

答案 34 :(得分:4)

这里没有任何答案对我有帮助。

对我来说问题是mvn eclipse:eclipse生成的类路径条目是对Android库项目的项目引用,但是,它在Eclipse构建路径设置中没有显示 !这意味着库类最终在dexer中两次,一次来自隐藏项目引用,一次来自链接库JAR。

我必须使用文本编辑器打开.classpath并手动删除projects元素。这解决了这个问题。

答案 35 :(得分:3)

我个人设法通过手动编辑Eclipse项目中的project.properties文件来解决这个问题。

它是什么:

target=android-16
android.library.reference.1=..\\..\\github\\ActionBarSherlock\\library
android.library.reference.2=../../github/android-numberpicker/library

我把它改成了所以问题就消失了:

target=android-16
android.library.reference.1=../../github/ActionBarSherlock/library
android.library.reference.2=../../github/android-numberpicker/library

使用“修复项目属性”工具自动修复此文件

答案 36 :(得分:3)

我在类路径中包含了包含protobuf lite(Protocol Buffers by Google)的项目时出现了完全相同的错误。我想原因是我的类路径中的protobuf-lite.jar和项目文件夹是在我以前的机器中构建的。当我下载Maven并重新构建protobuf-lite.jar文件后,将其作为用户库重新添加到我的项目中,一切正常。

答案 37 :(得分:3)

我正在使用ADT r14,当我尝试添加任何库项目时,我收到了此错误。对我来说,有效的只是将ADT更新到最新版本。它立即解决了这个问题。我尝试了几乎所有在stackoverflow上给出的解决方法,但没有其他任何对我有效。

答案 38 :(得分:3)

对我有用的是:

  • 完全清理构建
  • 删除了我在android.jar
  • 中找到的无关Project/Properties/Libraries文件

答案 39 :(得分:3)

对我来说问题是我设置了错误的编译器合规级别(1.8而不是1.7)

This答案解决了它:

  

在Project SDK部分,您应该添加Android SDK   提供Java SDK,我所有的Android SDK都使用Java 8作为SDK   即使项目,也使用错误的版本创建类文件   水平是1.7(我不知道为什么,我认为一切都被选中了   按项目级别)。现在我改变了SDK(java版“1.x.0”   一部分。)

答案 40 :(得分:2)

我正在使用ADT 7而其他修复程序不起作用(但我仍然使用它们)。

然后我从另一个项目中复制proguard.cfg,然后将其粘贴到旧的ADT项目文件夹中。 wallah,它有效。

答案 41 :(得分:2)

当我添加不同版本的相同jar文件时,我也遇到了这个问题,我只需删除旧版本的jar一个干净的项目,它对我来说很好。

答案 42 :(得分:2)

在我的情况下,问题是在2011年3月更新Eclipse和ADT之后产生的。在我的项目中,我使用的JAR产生了重建问题,而且以前的解决方案都没有工作。我花了几天时间尝试所有,搜索并向下搜索没有令人满意的解决方案。显然有一个对.jar文件的双重引用。

最后我:

  1. 删除了库中的所有引用,
  2. 删除了应用程序中的物理文件表单。
  3. 使用“Add External Jars”获取.jar(位于项目外的其他目录中)
  4. 执行了一个项目“干净”,
  5. 使用(ctrl)+(shift)+ O
  6. 更新对调用jar的模块的引用

    它最终编译完毕。

答案 43 :(得分:2)

此错误归因于

  1. 拥有多个JAR文件。
  2. 如果JAR文件具有类似的类文件,则无法解析.dx格式。
  3. 解决方案:

    1. 制作并选择合适的JAR文件。
    2. 获取最新版本。

答案 44 :(得分:1)

对于 NewRelic 用户:

如果您已在应用中集成了newrelic jar,则会在newrelic版本超出日期时发生这种情况。

解决方案

  • 将newrelic jar更新为最新版本。在eclipse上,它只需右键单击该项目并更新newrelic。或者您可以直接下载新版本。

答案 45 :(得分:1)

当我尝试导出我的项目时,我遇到了同样的问题。在控制台中看不到任何东西。

对我来说,解决方案是将proguard升级到最新版本,希望能帮助别人。

答案 46 :(得分:1)

我有同样的错误,并尝试了以上所有内容,但没有任何帮助我。

我的项目附加到GIT源代码控制系统,我意识到在导出到Andorid应用程序时有一些GIT相关的任务。然后我将所有更改提交给GIT存储库并且错误消失。

因此,如果您使用GIT进行源代码管理并且上面没有任何帮助,请尝试将所有更改提交到GIT存储库(最终推送到上游)并再次尝试导出。

答案 47 :(得分:1)

Just Project > Clean为我工作。

答案 48 :(得分:1)

在eclipse运行了很长时间之后或者在我成功构建了一个已签名的apk之后,这通常发生在我身上。

就我对此的经验而言,修复它我只是重启eclipse

答案 49 :(得分:1)

就我而言,从USB上拔下手机就可以解决这个错误。

答案 50 :(得分:1)

我完成了this answer中的步骤但仍未得到解决方案。我一直在网上搜索,发现如果你在Android设备连接到计算机时尝试导出APK,则会出现此错误。

断开我的设备,然后关闭项目,重新启动计算机,打开项目并清理它,这三次都适用于我。

答案 51 :(得分:1)

自ADT 17 / Tools r17预览发布以来的错误should be finally fixed!至少有一些例子,如果不是全部的话。

答案 52 :(得分:0)

依赖关系的Google API会导致此问题。删除后效果很好。

答案 53 :(得分:0)

Eclipse neon和JDK 1.8出现了这个问题。更改为JDK 1.7后问题得以解决。

enter image description here

答案 54 :(得分:0)

我刚刚安装了最新的eclipse和最新的API以及最新的SDK和工具,但多年以后,这个错误并没有变旧。我浪费了一天才弄明白。尝试了一切。徒然。因为这个消息非常通用,并且会引发许多不同的问题。因此,某些人指出的解决方案对其他人不起作用

一个好的第一种方法是去Window&gt;偏好&gt; Android&gt;建立并取消检查&#39; Skip packaging and dexing ...&#39;。通过这种方式,您可以在构建时获得更多有关特定错误的线索,而不仅仅是导出。

在我的情况下,我得到了 &#34; Dx不支持的类文件版本......&#34; 。这个错误我没有看到这里报道。好吧,基于此我发现我使用的一些旧罐子用1.6编译,其他用1.7编译。所以我将默认的IDE编译器合规性级别更改为1.6(Window&gt; Preferences&gt; Java&gt; Compiler),在完成每次依赖的清理和重建之后,我终于可以生成我的APK。

答案 55 :(得分:0)

这里没有什么对我有用,我不得不改变我的proguard文件来添加这一行:

-keep class !mycode.** { *; }

保留任何不是我的包的代码。

答案 56 :(得分:0)

我尝试了所有的一切,但没有任何效果。

有趣的是,如果我们使用proguard导出android应用程序,我们得到“转换为dalvik格式失败,错误1”错误,但如果我们在导出时不使用proguard则成功创建了APK。

最后,我们的android项目中的一个jar有一个大小超过1.5 MB的.class文件。它的大小导致了这个问题。我们将这个类拆分成许多小类,问题就消失了。

答案 57 :(得分:0)

这些答案都不适合我。我的问题是由JUnit和hamcrest引起的。另请参阅java.lang.IllegalArgumentException: already added: Lorg/hamcrest/BaseDescription; Conversion to Dalvik format failed with error 1

答案 58 :(得分:0)

最好将所有* .jar文件包含在项目文件夹树的“lib”目录中。通过这种方式,您无需通过转到项目的属性来定义构建路径。 “lib”已经是一个构建路径

答案 59 :(得分:0)

我遇到了同样的问题。当我检查时,我看到有2个具有相同名称的类,每个我添加的外部jar文件中有1个。我不得不删除1个jar文件。幸运的是,我为我删除的1提供了另一个jar文件。

答案 60 :(得分:0)

如果您在自己的应用中使用了Leadbolt广告SDK,并且要将“通知广告”和“展示广告”结合使用,则需要使用pubxappCom.jar而不是pubxapp.jar作为通知广告,否则会出现此错误!< / p>

快乐的编码!

答案 61 :(得分:0)

由于我从已删除的构建路径中排除了多个文件,但未从排除列表中删除,因此导致此错误。

项目 - &gt; Properites - &gt; Java构建路径 - &gt;来源标签 - &gt; project / src文件夹 - &gt;双击Excluded - &gt;删除项目中不再存在的所有文件。

答案 62 :(得分:0)

您好我之前有Android SDK Build tools 18.1.1Windows XP。然后我的应用程序运行正常。

但我将我的系统更新为Windows 7并更新Android SDK Build tools to 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天然后我找到了this链接,这保存了我的生命,在阅读完之后我发现问题是由xercesImpl-2.9.1.jar Android SDK构建工具导致的.19。

所以我把它降级为Android SDK Build工具到18.1.1。我摆脱了这个问题。

我在这里发布我的答案,以便如果有人会遇到这个问题,他们可以解决它。

这让我感到沮丧。希望能帮助别人。

答案 63 :(得分:0)

另一例安卓巫术, 如果没有其他工作,请尝试 在清单中将versionCode和versionName增加1。

它对我有用。

答案 64 :(得分:0)

我清理了我的主App项目和它使用的Android库项目。解决了这个问题

答案 65 :(得分:0)

没有任何帮助,但建议的解决方案here就像一个魅力:

即。将行-optimizations !code/allocation/variable添加到proguard-project.txt

答案 66 :(得分:0)

- 从java Build路径中删除所有库。然后再添加一次。 - 清理你的项目。

运行它。

答案 67 :(得分:0)

在大多数情况下,此问题是由Proguard的错误或损坏版本引起的,由于某些奇怪的原因,通常会从官方Android SDK管理器安装

不要编辑Proguard bat文件以避免进一步的问题,如果您遇到此问题,official site下载最新的稳定版Proguard 并替换

中的所有proguard文件
android-sdk\tools\proguard

从下载的档案中提取最新的proguard文件。

没有意义删除所有外部库依赖项,如果开发人员将库添加到他的项目中,则很可能需要库。

答案 68 :(得分:0)

我以不同的方式找到了解决方案...... https://stackoverflow.com/a/14948244/1014288

多亏了这个你可以修复没有删除和东西

答案 69 :(得分:-1)

这里的答案都不适用于我。

但是,我可以通过从除主应用程序之外的所有附加库中删除Android类路径容器(在我的情况下为Android 4.4)来修复错误,然后导出APK。 库项目将不再编译,但jar文件仍然存在,并且APK正在部署。我不确定这种行为的原因是什么。

答案 70 :(得分:-14)

如果您想解决此问题,则必须将Android SDK1.6更改为Android 2.2。之后,清理项目,然后构建并运行。然后您将看到您的应用程序正在运行。