2014-05-23 11 views
5

Ich habe mein Android IntelliJ IDEA-Projekt von einem Ort zum anderen verlegt. Aus irgendeinem Grund verlor IDEA alle Module und ich musste sie erneut importieren.Kann ich die ausführliche DEX-Protokollierung aktivieren?

Nun, wenn ich kompilieren, ich diesen DEX Fehler:

Error:Android Dex: [MyApp] Unable to execute DX 
Error:Android Dex: [MyApp] com.android.dex.DexException: Multiple dex files define Lcom/google/common/base/FinalizableReference; 
Error:Android Dex: [MyApp] at com.android.dx.merge.DexMerger.readSortableTypes(DexMerger.java:594) 
Error:Android Dex: [MyApp] at com.android.dx.merge.DexMerger.getSortedTypes(DexMerger.java:552) 
Error:Android Dex: [MyApp] at com.android.dx.merge.DexMerger.mergeClassDefs(DexMerger.java:533) 
Error:Android Dex: [MyApp] at com.android.dx.merge.DexMerger.mergeDexes(DexMerger.java:170) 
Error:Android Dex: [MyApp] at com.android.dx.merge.DexMerger.merge(DexMerger.java:188) 
Error:Android Dex: [MyApp] at com.android.dx.command.dexer.Main.mergeLibraryDexBuffers(Main.java:439) 
Error:Android Dex: [MyApp] at com.android.dx.command.dexer.Main.runMonoDex(Main.java:287)  
Error:Android Dex: [MyApp] at com.android.dx.command.dexer.Main.run(Main.java:230) 
Error:Android Dex: [MyApp] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
Error:Android Dex: [MyApp] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
Error:Android Dex: [MyApp] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
Error:Android Dex: [MyApp] at java.lang.reflect.Method.invoke(Method.java:597) 
Error:Android Dex: [MyApp] at org.jetbrains.android.compiler.tools.AndroidDxRunner.runDex(AndroidDxRunner.java:161)  
Error:Android Dex: [MyApp] at org.jetbrains.android.compiler.tools.AndroidDxRunner.main(AndroidDxRunner.java:294) 
Error:Android Dex: [MyApp] at com.intellij.rt.execution.CommandLineWrapper.main(CommandLineWrapper.java:121) 

ich nicht herausfinden können, was die Ursache ist, all die üblichen Verdächtigen von mehreren JAR-Dateien scheint in Ordnung zu sein.

Gibt es eine Möglichkeit, die ausführliche Protokollierung zu aktivieren, um besser zu verstehen, welche Bibliotheken in Konflikt stehen?

Antwort

0

Ich weiß nicht, wie eine bessere Fehlerbeschreibung von DEX zu bekommen, aber hier sind zwei Vorschläge zu beheben:

  1. Wenn Android Studio verwenden, für die säumige Klasse nur die Suche FinalizableReference (einschließlich nicht-Projekt Klassen in der Suche). (Verwenden Command+N für Fund Klasse oder doppelt tippen Shift Suche nach „überall“ für Eclipse. Ctrl+Shift+T andere bestätigen

  2. über die Befehlszeile:?. jar tf mylib.jar | grep FinalizableReference mylib für die Klasse suchen Sie können dann einige verwenden. for Schleife über die jAR-Dateien shell (in der Regel in libs dir). auch grep -r FinalizableReference libs/*\.jar alle Gläser scannen (vorausgesetzt, Sie sie in libs haben) und diejenigen informieren, die eine Übereinstimmung haben (die Duplikate).

Verwandte Themen