转换为 Dalvik 格式失败,出现错误 1 - 更新 Android SDK 和 ADT 后



为最新版本更新SDK和ADT后,我尝试运行我的应用程序,Eclipse记录以下错误:

[- RichReaderDemo] Dx 
UNEXPECTED TOP-LEVEL EXCEPTION:
java.lang.IllegalArgumentException: already added: Lbr/com/digitalpages/renderer/NewReaderActivity;
[- RichReaderDemo] Dx   at com.android.dx.dex.file.ClassDefsSection.add(ClassDefsSection.java:123)
[- RichReaderDemo] Dx   at com.android.dx.dex.file.DexFile.add(DexFile.java:163)
[- RichReaderDemo] Dx   at com.android.dx.command.dexer.Main.processClass(Main.java:486)
[- RichReaderDemo] Dx   at com.android.dx.command.dexer.Main.processFileBytes(Main.java:455)
[- RichReaderDemo] Dx   at com.android.dx.command.dexer.Main.access$400(Main.java:67)
[- RichReaderDemo] Dx   at com.android.dx.command.dexer.Main$1.processFileBytes(Main.java:394)
[- RichReaderDemo] Dx   at com.android.dx.cf.direct.ClassPathOpener.processArchive(ClassPathOpener.java:245)
[- RichReaderDemo] Dx   at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:131)
[- RichReaderDemo] Dx   at com.android.dx.cf.direct.ClassPathOpener.process(ClassPathOpener.java:109)
[- RichReaderDemo] Dx   at com.android.dx.command.dexer.Main.processOne(Main.java:418)
[- RichReaderDemo] Dx   at com.android.dx.command.dexer.Main.processAllFiles(Main.java:329)
[- RichReaderDemo] Dx   at com.android.dx.command.dexer.Main.run(Main.java:206)
[- RichReaderDemo] Dx   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[- RichReaderDemo] Dx   at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
[- RichReaderDemo] Dx   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[- RichReaderDemo] Dx   at java.lang.reflect.Method.invoke(Method.java:616)
[- RichReaderDemo] Dx   at com.android.ide.eclipse.adt.internal.build.DexWrapper.run(DexWrapper.java:179)
[- RichReaderDemo] Dx   at com.android.ide.eclipse.adt.internal.build.BuildHelper.executeDx(BuildHelper.java:729)
[- RichReaderDemo] Dx   at com.android.ide.eclipse.adt.internal.build.builders.PostCompilerBuilder.build(PostCompilerBuilder.java:602)
[- RichReaderDemo] Dx   at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:629)
[- RichReaderDemo] Dx   at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
[- RichReaderDemo] Dx   at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:172)
[- RichReaderDemo] Dx   at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:282)
[- RichReaderDemo] Dx   at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:363)
[- RichReaderDemo] Dx   at org.eclipse.core.internal.resources.Project$1.run(Project.java:545)
[- RichReaderDemo] Dx   at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:1975)
[- RichReaderDemo] Dx   at org.eclipse.core.internal.resources.Project.internalBuild(Project.java:524)
[- RichReaderDemo] Dx   at org.eclipse.core.internal.resources.Project.build(Project.java:123)
[- RichReaderDemo] Dx   at com.android.ide.eclipse.adt.internal.project.ProjectHelper.build(ProjectHelper.java:869)
[- RichReaderDemo] Dx   at com.android.ide.eclipse.adt.internal.launch.LaunchConfigDelegate.launch(LaunchConfigDelegate.java:146)
[- RichReaderDemo] Dx   at org.eclipse.debug.internal.core.LaunchConfiguration.launch(LaunchConfiguration.java:853)
[- RichReaderDemo] Dx   at org.eclipse.debug.internal.core.LaunchConfiguration.launch(LaunchConfiguration.java:702)
[- RichReaderDemo] Dx   at org.eclipse.debug.internal.ui.DebugUIPlugin.buildAndLaunch(DebugUIPlugin.java:923)
[- RichReaderDemo] Dx   at org.eclipse.debug.internal.ui.DebugUIPlugin$8.run(DebugUIPlugin.java:1126)
[- RichReaderDemo] Dx   at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
[- RichReaderDemo] Dx 
UNEXPECTED TOP-LEVEL EXCEPTION:
java.lang.IllegalArgumentException: already added: Lbr/com/digitalpages/commons/activity/LoadingActivity;
[- RichReaderDemo] Dx   at com.android.dx.dex.file.ClassDefsSection.add(ClassDefsSection.java:123)
[- RichReaderDemo] Dx   at com.android.dx.dex.file.DexFile.add(DexFile.java:163)
[- RichReaderDemo] Dx   at com.android.dx.command.dexer.Main.processClass(Main.java:486)
[- RichReaderDemo] Dx   at com.android.dx.command.dexer.Main.processFileBytes(Main.java:455)
[- RichReaderDemo] Dx   at com.android.dx.command.dexer.Main.access$400(Main.java:67)
[- RichReaderDemo] Dx   at com.android.dx.command.dexer.Main$1.processFileBytes(Main.java:394)
[- RichReaderDemo] Dx   at com.android.dx.cf.direct.ClassPathOpener.processArchive(ClassPathOpener.java:245)
[- RichReaderDemo] Dx   at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:131)
[- RichReaderDemo] Dx   at com.android.dx.cf.direct.ClassPathOpener.process(ClassPathOpener.java:109)
[- RichReaderDemo] Dx   at com.android.dx.command.dexer.Main.processOne(Main.java:418)
[- RichReaderDemo] Dx   at com.android.dx.command.dexer.Main.processAllFiles(Main.java:329)
[- RichReaderDemo] Dx   at com.android.dx.command.dexer.Main.run(Main.java:206)
[- RichReaderDemo] Dx   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[- RichReaderDemo] Dx   at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
[- RichReaderDemo] Dx   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[- RichReaderDemo] Dx   at java.lang.reflect.Method.invoke(Method.java:616)
[- RichReaderDemo] Dx   at com.android.ide.eclipse.adt.internal.build.DexWrapper.run(DexWrapper.java:179)
[- RichReaderDemo] Dx   at com.android.ide.eclipse.adt.internal.build.BuildHelper.executeDx(BuildHelper.java:729)
[- RichReaderDemo] Dx   at com.android.ide.eclipse.adt.internal.build.builders.PostCompilerBuilder.build(PostCompilerBuilder.java:602)
[- RichReaderDemo] Dx   at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:629)
[- RichReaderDemo] Dx   at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
[- RichReaderDemo] Dx   at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:172)
[- RichReaderDemo] Dx   at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:282)
[- RichReaderDemo] Dx   at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:363)
[- RichReaderDemo] Dx   at org.eclipse.core.internal.resources.Project$1.run(Project.java:545)
[- RichReaderDemo] Dx   at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:1975)
[- RichReaderDemo] Dx   at org.eclipse.core.internal.resources.Project.internalBuild(Project.java:524)
[- RichReaderDemo] Dx   at org.eclipse.core.internal.resources.Project.build(Project.java:123)
[- RichReaderDemo] Dx   at com.android.ide.eclipse.adt.internal.project.ProjectHelper.build(ProjectHelper.java:869)
[- RichReaderDemo] Dx   at com.android.ide.eclipse.adt.internal.launch.LaunchConfigDelegate.launch(LaunchConfigDelegate.java:146)
[- RichReaderDemo] Dx   at org.eclipse.debug.internal.core.LaunchConfiguration.launch(LaunchConfiguration.java:853)
[- RichReaderDemo] Dx   at org.eclipse.debug.internal.core.LaunchConfiguration.launch(LaunchConfiguration.java:702)
[- RichReaderDemo] Dx   at org.eclipse.debug.internal.ui.DebugUIPlugin.buildAndLaunch(DebugUIPlugin.java:923)
[- RichReaderDemo] Dx   at org.eclipse.debug.internal.ui.DebugUIPlugin$8.run(DebugUIPlugin.java:1126)
[- RichReaderDemo] Dx   at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
[- RichReaderDemo] Dx 2 errors; aborting
[- RichReaderDemo] Conversion to Dalvik format failed with error 1

我在更新到2011年10月的r15 ADT和SDK版本后遇到了这个问题。我的项目使用了3个项目作为库,所以项目之间有很多相互依赖的关系。当构建工具看到多次定义相同的对象时,就会出现这个错误。我的猜测是谷歌改变了库引用的工作方式,所以我的旧项目设置不再有效。

我试着搞乱项目的库和构建路径设置,但我不能得到构建是稳定的。我想到的解决方案是:

  1. 关闭Eclipse
  2. 创建工作空间
  3. 的备份副本
  4. 删除每个项目中的。project和。classpath文件
  5. 在Eclipse中打开一个新的工作区
  6. 使用New Android project 向导(选择"从现有源代码创建项目")重新添加项目。注意:这与导入现有项目不同。

在新的工作空间中设置了库依赖关系后,一切都编译得很好。我有很多设置,我不想失去,所以我复制了重新生成的。project和。classpath文件回到我原来的工作空间,它一直为我工作正常到目前为止。

我认为你应该做Clean Project并重建它,为我解决它。

解决方案是:

1)删除项目(不删除磁盘上的项目内容)。
2)删除工程中的.project.classpath文件。
3)使用当前src (Create project from existing source)

创建新项目

如果在导出过程中发生这种情况,请删除项目bin目录下的文件。然后重新启动导出。

进入Project-> Properties->Java Build Path->Libraries并删除除"Android X.Y"(在我的情况下是Android 5.0.1)之外的所有内容,您可以保留Android依赖项(如果它不包含任何冲突的jar文件)。对订单和导出执行相同的操作(在Project-> Properties->Java Build Path->订单和导出中)。单击OK。清理项目。这应该能解决问题。这是由于jar冲突问题引起的

try android update project

当你从工作空间中使用一些库时,也许你必须在Project -> Properties -> Java build path -> Source

中删除链接行

我在bin/dexedlibs中打开了一个cmd窗口,当我cd到父(bin)时,这为我解决了问题。所以这似乎是非常微妙的建造错误。在清理期间,构建器将删除dexedlib文件夹,并且可能在rmdir期间得到错误也会导致此失败。

不需要新建项目

删除gen和bin文件夹,按project clean

最新更新