2013-04-08 24 views
12

używam ant uwalnianie i dostał ten błąd:com.android.dx.util.DexException: Multiple dex pliki definiują

[dx] UNEXPECTED TOP-LEVEL EXCEPTION: 
    [dx] com.android.dx.util.DexException: Multiple dex files define Lcom/android/vending/billing/IMarketBillingService; 
    [dx]  at com.android.dx.merge.DexMerger.readSortableTypes(DexMerger.java:580) 
    [dx]  at com.android.dx.merge.DexMerger.getSortedTypes(DexMerger.java:538) 
    [dx]  at com.android.dx.merge.DexMerger.mergeClassDefs(DexMerger.java:519) 
    [dx]  at com.android.dx.merge.DexMerger.mergeDexBuffers(DexMerger.java:168) 
    [dx]  at com.android.dx.merge.DexMerger.merge(DexMerger.java:186) 
    [dx]  at com.android.dx.command.dexer.Main.mergeLibraryDexBuffers(Main.java:300) 
    [dx]  at com.android.dx.command.dexer.Main.run(Main.java:232) 
    [dx]  at com.android.dx.command.dexer.Main.main(Main.java:174) 
    [dx]  at com.android.dx.command.Main.main(Main.java:91) 

mam same error, ale odpowiedzi nie pomoże mi

próbowałem :

mam 1 główny projekt i 2 projekty lib (Facebook i pliki rozszerzające downloader)

Dzięki za odpowiedzi !

Odpowiedz

7

Proszę sprawdzić, czy pakiet obejmuje com/android/vending/billing/IMarketBillingService jest numerem dwa lub więcej w ustawieniach projektu.

+1

Dzięki @Robin! Używam 1 kopii lib słoika w 2 projektach – user2172670

6

Ten wyjątek ma miejsce, gdy dwa identyczne słoiki są importowane do projektów. Android próbuje skompilować plik dex (jest to plik, w którym wszystkie słoiki i klasy Javy są połączone) otrzymuje wyjątek.

Rozwiązaniem jest przejście przez wszystkie słoiki importowane do projektu i usunięcie duplikatów. W tym przypadku do Lcom.android.vending.billing.IMarketBillingService odwołano się więcej niż raz, jak opisano powyżej.