Android Dex:[ActivityName]无法执行DX

时间:2014-03-20 11:03:44

标签: android compiler-errors android-support-library

当我编译我的项目时,我遇到了这种错误;

  

错误:Android Dex:[OdeAl]无法执行DX   错误:Android Dex:[OdeAl] com.android.dex.DexException:多个dex文件定义Landroid / support / v4 / accessibilityservice / AccessibilityServiceInfoCompat $ AccessibilityServiceInfoVersionImpl;   错误:Android Dex:[OdeAl] at com.android.dx.merge.DexMerger.readSortableTypes(DexMerger.java:594)   错误:Android Dex:[OdeAl] at com.android.dx.merge.DexMerger.getSortedTypes(DexMerger.java:552)   错误:Android Dex:[OdeAl] at com.android.dx.merge.DexMerger.mergeClassDefs(DexMerger.java:533)   错误:Android Dex:[OdeAl] at com.android.dx.merge.DexMerger.mergeDexes(DexMerger.java:170)   错误:Android Dex:[OdeAl] com.android.dx.merge.DexMerger.merge(DexMerger.java:188)   错误:Android Dex:[OdeAl] at com.android.dx.command.dexer.Main.mergeLibraryDexBuffers(Main.java:439)   错误:Android Dex:[OdeAl] at com.android.dx.command.dexer.Main.runMonoDex(Main.java:287)   错误:Android Dex:[OdeAl] at com.android.dx.command.dexer.Main.run(Main.java:230)   错误:Android Dex:[OdeAl] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)   错误:Android Dex:[OdeAl] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)   错误:Android Dex:[OdeAl] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)   错误:Android Dex:java.lang.reflect.Method.invoke中的[OdeAl](Method.java:597)   错误:Android Dex:org.jetbrains.android.compiler.tools.AndroidDxRunner.runDex的[OdeAl](AndroidDxRunner.java:161)   错误:Android Dex:org.jetbrains.android.compiler.tools.AndroidDxRunner.main中的[OdeAl](AndroidDxRunner.java:294)   错误:Android Dex:[OdeAl] at com.intellij.rt.execution.CommandLineWrapper.main(CommandLineWrapper.java:121)

我该如何解决这个错误?

2 个答案:

答案 0 :(得分:10)

问题是您有多次导入相同的LibraryClass

实际上,错误是说你有:

  

多个dex文件定义Landroid / support / v4 / accessibilityservice / AccessibilityServiceInfoCompat $ AccessibilityServiceInfoVersionImp

所以,您应该检查是否多次添加相同的jar文件。 如果是,请从libs文件夹中删除其中任何一个并清理项目。

答案 1 :(得分:1)

就像@Josef回答一样,您可以知道什么是jar文件已导入两次或更多次进入android项目来自错误

下一行进入错误:

com.android.dex.DexException: Multiple dex files define 

Landroid/support/v4/accessibilityservice/AccessibilityServiceInfoCompat$AccessibilityServiceInfoVersionI

这意味着已将两次或更多次导入到android项目中的android-support-v4.jar文件