2014-09-28 22 views
5

Il problema: Non riesco a creare il mio progetto. Quando provo il seguente segno è mostrato nella console:Eclipse, Android: Inatteso Impossibile eseguire dex: più file dex definiscono

[2014-09-28 23:49:30 - Dex Loader] Unable to execute dex: Multiple dex files define Landroid/support/annotation/AnimRes; 
[2014-09-28 23:49:30 - Shop] Conversion to Dalvik format failed: Unable to execute dex: Multiple dex files define Landroid/support/annotation/AnimRes; 

ho perso ore di ricerca di una soluzione per questo problema, ma nessun risultato .. ho provato a pulire il progetto, per eliminare la cartella bin etc. ma niente ha funzionato ..

prega, aiuto, io non so cosa fare ..

+0

Prova tutte le [soluzioni menzionate in questa domanda SO] (http://stackoverflow.com/questions/8059719/unable-to-execute-dex-multiple-dex-files-define) – ashoke

risposta

5

non ho potuto risolvere il problema così ho finito per con la creazione di nuovo progetto in un luogo di lavoro diverso e copiato tutto il codice al nuovo progetto. Non è la cosa più intelligente, ma cosa posso fare ..

1

Ho lo stesso problema. Penso che sia successo perché ci sono modifiche nel contenuto della cartella bin quando aggiorno il repository del progetto con SVN tortoise. Ho rimosso bin e Eclipse ne genera uno nuovo ma il problema persiste ancora. Ma ho risolto il problema rimuovendo la libreria delle dipendenze di Android. Ecco i passaggi:

Seleziona progetto -> Fare clic con il pulsante destro del mouse -> Seleziona percorso di creazione -> Configura percorso di creazione -> Nella scheda Librerie rimuovere Dipendenze di Android -> OK. Quindi pulisci il progetto ed esegui di nuovo. :)

+0

puoi mostrare il tuo errore da log della console ..? –

+3

Spiacente, ho cancellato il mio commento. Nel mio caso, android-support-v4 era il problema. Il mio progetto ha Android-support-v4 e AppCompat entrambi. Così, ho rimosso support-v4 e ho pulito. E l'errore era scomparso. :) – cmcromance

+0

thx cmcromance! cancella supporto-v4 funziona per me;) –

0

Rimuovere la libreria che contiene android-support-v4.jar, quindi aggiungere android-support-v4.jar al diretto percorso buid. A proposito, io uso Eclipse per IDE.

7

Rimuovere android-support-annotations.jar dalla cartella libs. Poiché queste annotazioni sono già incluse nelle versioni recenti del file android-support-v4.jar.

+0

hai fatto la mia giornata –

2

Ho perso anche diverse ore in questo problema, ma penso di aver trovato una soluzione, almeno per il mio. Andoid Studio mi ha detto che avevo "Più file dex definiscono Landroid/support/annotation/AnimRes;" ma ha anche avuto una chiamata al file inputList.txt che aveva un bug. Bene, ho trovato questo file nell'albero delle directory e ho trovato nella cartella app/build/intermediates/tmp/dex/debug. Il file è un semplice file di testo che ha una riga per ogni dipendenza come annotazioni di supporto o androidplot-core con un percorso assoluto.

Ho visto ripetute diverse righe e ho pensato che se rimuovo risolvo il problema, ma non ha funzionato.

Poi ho cercato questo percorso e tutti .jar sono nello stesso luogo: app/costruire/intermedi/pre-dexed cartella/debug/, e ho visto ripetuto i file .jar e ho rimosso questo, dopo sono andato al file e ho cancellato anche le righe ripetute.

Quindi ho eseguito il mio progetto e il bug è scomparso, il problema è risolto.

Il problema era: i file .jar duplicati in quella cartella.

Facile!

0

Come l'output della console ha detto "Definire più file dex".

Sotto il nome di bin/dexedLibs, ci sono molti barattoli con lo stesso nome ma di versioni diverse.

Io lo risolvo rimuovendo tutti i supporti v4 duplicati di supporto in tutte le cartelle lib e faccio il riferimento principale del progetto a quello singolo nel progetto di libreria, quindi pulisco il progetto da ricostruire. Funziona come un fascino ora.