2012-03-27 6 views
6

Ho un progetto che gira bene in Eclipse ma getta una ZipException quando si esegue "ant debug". L'output è il seguente (percorsi e nome del progetto esclusi)ZipException durante la conversione in dex con Ant, in eclipse funziona ok

-dex: 
     [dex] Converting compiled files and external libraries into /home/.../Android/[folder]/bin/classes.dex... 
     [dx] 
     [dx] UNEXPECTED TOP-LEVEL EXCEPTION: 
     [dx] java.util.zip.ZipException: error in opening zip file 
     [dx]  at java.util.zip.ZipFile.open(Native Method) 
     [dx]  at java.util.zip.ZipFile.<init>(ZipFile.java:131) 
     [dx]  at java.util.zip.ZipFile.<init>(ZipFile.java:148) 
     [dx]  at com.android.dx.cf.direct.ClassPathOpener.processArchive(ClassPathOpener.java:206) 
     [dx]  at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:131) 
     [dx]  at com.android.dx.cf.direct.ClassPathOpener.process(ClassPathOpener.java:109) 
     [dx]  at com.android.dx.command.dexer.Main.processOne(Main.java:418) 
     [dx]  at com.android.dx.command.dexer.Main.processAllFiles(Main.java:329) 
     [dx]  at com.android.dx.command.dexer.Main.run(Main.java:206) 
     [dx]  at com.android.dx.command.dexer.Main.main(Main.java:174) 
     [dx]  at com.android.dx.command.Main.main(Main.java:95) 
     [dx] 1 error; aborting 

BUILD FAILED 
/home/.../android-sdk-linux_x86/tools/ant/build.xml:818: The following error occurred while executing this line: 
/home/.../android-sdk-linux_x86/tools/ant/build.xml:820: The following error occurred while executing this line: 
/home/.../android-sdk-linux_x86/tools/ant/build.xml:832: The following error occurred while executing this line: 
/home/.../android-sdk-linux_x86/tools/ant/build.xml:278: null returned: 1 

Questo progetto fa riferimento a un progetto di libreria che fa riferimento a un altro progetto di libreria. Così

Progetto A -> Progetto B -> Progetto C

Per me, la parte strana è che l'installazione da eclissare tutto funziona perfettamente, ma ho bisogno di essere in grado di costruire il progetto da Ant.

Ho cercato su google le risposte senza successo. domande simili a SO che non hanno aiutato

How do I fix this ZipException while compiling an Android project on Jenkins?

Configuring ant to run unit tests. Where should libraries be? How should classpath be configured? avoiding ZipException

+0

Hai mai risolto questo problema? Ottengo lo stesso problema dopo aver aggiornato gli strumenti SDK dal 16 al 19. – fejd

+0

Ho rinunciato a utilizzare Ant di Android e creato il mio, meno potente ma ha fatto quello che volevo. Inoltre, se ricordo bene ho eliminato la dipendenza tra Progetto B e Progetto C e inserito un "Progetto C.jar" nel Progetto A. Wow, che casino di un commento, mi spiace non posso aiutare molto – Maragues

risposta

1

mi è stato sempre lo stesso errore durante Dexing. Ho trovato che un file .jar corrotto in un progetto di libreria Android incluso stava causando questo problema.

La correzione del file danneggiato .jar nel progetto di libreria Android incluso ha risolto il problema.

Spero che questo aiuti qualcuno! = D

+0

Grazie per aver condiviso ! Non sto più lavorando a questo progetto, ma se la gente votasse, la spunta come risposta accettata, anche se non penso che fosse il mio problema. – Maragues

1

Ho avuto lo stesso esatto problema nel mio progetto. Ho trovato che eseguire la formica con il flag di debug '-d' scarica le informazioni necessarie per diagnosticare il problema. Ant scaricherà il comando esatto dx alla console e sembra qualcosa di simile:

Execute:Java13CommandLauncher: Executing '/Users/cliff/android-sdk-macosx/platform-tools/dx' with arguments: 
'--dex' 
'--output' 
'/Users/cliff/Src/myproject/myproject-app/bin/classes.dex' 
'/Users/cliff/Src/myproject/myproject-app/bin/classes' 
'/Users/cliff/Src/myproject/myproject-config/bin/classes.jar' 

Nel mio caso, uno dei progetti dipendenti (mioprogetto-config) non era stato costruito in modo myproject-config/bin/classes .jar mancava. Sono entrato nella cartella myproject-config /, ho eseguito "debug di formiche", sono tornato indietro e sono riuscito a creare il mio progetto con successo

Problemi correlati