2011-11-14 9 views
5

Dopo l'aggiornamento SDK e ADT per la versione più recente, ho provato a fare funzionare la mia applicazione e Eclipse registrare il seguente errore:conversione in formato Dalvik non riuscita con errore 1 - Dopo l'aggiornamento di Android SDK e ADT

[- 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 

risposta

12

mi sono imbattuto in questo problema dopo l'aggiornamento alla versione r15 di ottobre 2011 di ADT e SDK. Il mio progetto utilizza 3 progetti come librerie, quindi c'è molta interdipendenza tra i progetti. Questo errore si presenta (credo) quando lo strumento di costruzione vede lo stesso oggetto definito più volte. La mia ipotesi è che Google abbia cambiato il modo in cui funzionano i riferimenti alle biblioteche, quindi la mia vecchia configurazione del progetto non era più valida.

Ho provato a fare confusione con la libreria del progetto e le impostazioni del percorso di creazione, ma non sono riuscito a rendere stabile la build. La soluzione mi è venuta è stato quello di:

  1. Chiudi Eclipse
  2. Effettuare una copia di backup dello spazio di lavoro
  3. Eliminare i file .project e .classpath in ogni progetto
  4. Aprire una nuova area di lavoro in Eclipse
  5. Aggiungere di nuovo il progetto utilizzando la procedura guidata Nuovo progetto Android (selezionando "Crea progetto da sorgente esistente"). Nota: questo è diverso dall'importazione di un progetto esistente.

Dopo aver impostato le dipendenze della libreria nel nuovo spazio di lavoro, tutto è stato compilato correttamente. Ho avuto un sacco di impostazioni che non volevo perdere, quindi ho copiato i file rigenerati .project e .classpath nel mio spazio di lavoro originale e ha funzionato bene per me finora.

+1

Un approccio simile risolve anche per me (creando un nuovo progetto) –

+0

Ah sì, il tuo commento è molto più succinto: "Crea un nuovo progetto" :) –

+0

Salvato da me !!! Grazie! – marienke

4

penso dovresti fare Clean Project e ricostruirlo, risolverlo per me.

0

provare android update project

quando si utilizzano alcune librerie da lavoro forse è necessario rimuovere link-righe da essi in Project -> Proprietà - percorso di generazione> Java -> Fonte

2

La soluzione è:

1) eliminare il progetto (non fare del contenuto del progetto di eliminazione dal disco).
2) Eliminare i file .project e .classpath nel progetto.
3) Creazione di un nuovo progetto con lo src corrente (Create project from existing source)

0

ho avuto una finestra cmd aperta nei bin/dexedlibs e quando ho cd per il genitore (bin), che ha risolto il problema per me. Quindi sembra che ci siano errori di compilazione molto sottili. Durante un clean, il builder rimuoverà la cartella dexedlib, e forse anche un errore durante rmdir causerà questo errore.

2

Se ciò accade durante l'esportazione, eliminare i file presenti nella directory bin del progetto. e riavviare l'esportazione. in meno di 30 secondi è stato risolto

0

Non è necessario creare un nuovo progetto.

Basta eliminare la cartella gen e bin e premere project clean.

1

Vai a Progetto-> Proprietà-> Percorso build Java-> Librerie e rimuovi tutto tranne "Android X.Y" (nel mio caso Android 5.0.1), puoi mantenere le dipendenze di Android (se non contiene alcun file jar in conflitto). Fai lo stesso per ordine ed esportazione (in Progetto-> Proprietà-> Percorso build Java-> Ordina ed esporta). Clicca OK. Pulisci il progetto. Dovrebbe risolvere il problema. È causato a causa di problemi in conflitto con jar.

Problemi correlati