2010-12-15 6 views
39

Ho un progetto Android in Eclipse Mi piacerebbe convertire per essere costruito con Ant invece.Come convertire un progetto Eclipse per Android per usare Ant per build?

Come posso ottenere questo risultato? Ho provato a esportare un file di build Ant, ma sono abbastanza sicuro che non funzionerà (né lo fa quando si esegue un form con il file esportato). Neppure io ne so molto di Ant, quindi qualche spiegazione potrebbe essere d'aiuto.

EDIT: ora mi sembra di essere riuscito a creare il file di build necessario ma ho bisogno di aggiungere le librerie di progetti come admob.jar per essere viste dal form e usate per costruire. come sto ottenendo il seguente errore

 -dex: 
    [echo] Converting compiled files and external libraries into C:\Users\Jason 
\Documents\Programming\Android\Android SVN\trunk\GPSAlarm\BusSnooze\bin\classes. 
dex... 
    [apply] 
    [apply] UNEXPECTED TOP-LEVEL EXCEPTION: 
    [apply] com.android.dx.util.ExceptionWithContext 
    [apply]  at com.android.dx.util.ExceptionWithContext.withContext(Exceptio 
nWithContext.java:46) 
    [apply]  at com.android.dx.dex.cf.CfTranslator.processMethods(CfTranslato 
r.java:340) 
    [apply]  at com.android.dx.dex.cf.CfTranslator.translate0(CfTranslator.ja 
va:131) 
    [apply]  at com.android.dx.dex.cf.CfTranslator.translate(CfTranslator.jav 
a:85) 
    [apply]  at com.android.dx.command.dexer.Main.processClass(Main.java:297) 

    [apply]  at com.android.dx.command.dexer.Main.processFileBytes(Main.java: 
276) 
    [apply]  at com.android.dx.command.dexer.Main.access$100(Main.java:56) 
    [apply]  at com.android.dx.command.dexer.Main$1.processFileBytes(Main.jav 
a:228) 
    [apply]  at com.android.dx.cf.direct.ClassPathOpener.processArchive(Class 
PathOpener.java:245) 
    [apply]  at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPath 
Opener.java:130) 
    [apply]  at com.android.dx.cf.direct.ClassPathOpener.process(ClassPathOpe 
ner.java:108) 
    [apply]  at com.android.dx.command.dexer.Main.processOne(Main.java:245) 
    [apply]  at com.android.dx.command.dexer.Main.processAllFiles(Main.java:1 
83) 
    [apply]  at com.android.dx.command.dexer.Main.run(Main.java:139) 
    [apply]  at com.android.dx.command.dexer.Main.main(Main.java:120) 
    [apply]  at com.android.dx.command.Main.main(Main.java:87) 
    [apply] Caused by: java.lang.NullPointerException 
    [apply]  at com.android.dx.cf.code.ConcreteMethod.<init>(ConcreteMethod.j 
ava:84) 
    [apply]  at com.android.dx.dex.cf.CfTranslator.processMethods(CfTranslato 
r.java:243) 
    [apply]  ... 14 more 
    [apply] ...while processing <init>()V 
    [apply] ...while processing com/google/android/apps/analytics/AnalyticsRecei 
ver.class 
    [apply] 
    [apply] 1 error; aborting 
+0

Puoi pubblicare altro errore? Solo la fine di esso è mostrato qui. –

+0

@Christopher: aggiornato – Jason

risposta

55

In esecuzione android update project -p . sulla riga di comando, nella cartella di base del progetto verrà creato il necessario build.xml e file di supporto per una build Ant.

+3

hmm sembrava arrivare da qualche parte ma ci sono molti errori di compilazione sulle classi che non implementano metodi e cose. mentre il codice compila e funziona perfettamente da eclissi – Jason

+1

Lo stesso problema di Jason, questo funziona nella maggior parte dei casi ma non con tutti i miei progetti – schwiz

+0

Ha generato local.properties e questo messaggio "build.xml: trovato versione-tag: personalizzato. File non sarà aggiornato. " Quando verranno generati ant.properties ?? Voglio cambiare quel file –

1

Mentre non ci può essere "Esegui configurazione per Ant" caratteristica è ancora possibile aprire la configurazione di esecuzione e visualizzare le impostazioni.

Il sito Android Developers ha una sezione su using "Other IDEs"; qui trattano un po 'sull'uso di Ant per compilare se già conosci già Ant.

+0

Sì, ma il file build.xml di cui continuano a parlare non esiste – Jason

+0

Generare il file build.xml nel passaggio "Creazione di un progetto Android": http://developer.android.com/guide/ sviluppo/other-ide.html # CreatingAProject. Fa più del necessario se hai già un progetto, ma puoi farlo e poi prendi il file build.xml che ti dà e usalo come punto di partenza. –

+0

@Mayra in modo che io possa utilizzare il comando di creazione del progetto Android su un progetto già esistente? – Jason

8

È possibile creare file di generazione formica direttamente da Eclipse è di per sé .. Dal menu File

Ecco i passaggi per creare build.xml per qualsiasi progetto in Eclipse

File -> Esporta -> Generale - > Ant Buildfiles e scegliere il progetto richiesto per creare un file di build.