2011-11-18 16 views
6

Ho un numero di progetti su cui lavoro contemporaneamente.Esegui file batch dopo ogni generazione in eclissi

Ogni volta che creo ed eseguo uno di questi, l'apk si trova come al solito nella cartella bin.

Se voglio copiare questo apk in un'altra cartella esterna al progetto, devo farlo manualmente.

Ho creato un file batch singolo che copia tutti i file apk dei miei progetti nella posizione desiderata.


C'è un modo per cambiare la posizione di uscita della cartella bin da qualche parte al di fuori del progetto o più preferibilmente eseguire il file batch dopo ogni generazione?


AVVISO

Sto usando Eclipse con ADT. Ho provato ad aggiungere un builder che esegue il file batch. Tuttavia, quando viene eseguito il file batch, il file apk non viene ancora generato. Ho provato tutte le combinazioni di opzioni nel builder e tutte le possibili sequenze di builder.

+0

Stai usando un 'Makefile'? Se sì, com'è? Sarebbe facile regolare la maggior parte dei 'Makefile's per questo compito, comunque ... – sarnold

+0

Io uso il plugin Android per Eclipse? È davvero imbarazzante, ma non lo so. –

risposta

5

Se sei felice di usare Eclipse mentre stai perfezionando la build, quindi passa alla riga di comando per la build finale, quindi con Ant è davvero facile ottenere quello che vuoi con un minimo sforzo o configurazione.

Ipotesi

1) vostre fonti sono in uno spazio di lavoro Android e si finirà con due serie di binari - quella fatta da Eclipse, l'altra fatta da Ant finirà al di fuori dell'area di lavoro come fissato dal un file di proprietà

2) Si utilizza SDK14 o 15 (Ant cambiato nel 14)

3) si dispone di un t installato e nel tuo percorso - Avrai bisogno di avere Ant 1.8.2 - questo non è quello interno che usa Eclipse, potresti doverlo prelevare dal sito Apache, è facile da installare

Passaggi

1) Fai un progetto di esempio dalla riga di comando, come descritto nella http://developer.android.com/guide/developing/projects/projects-cmdline.html

Per esempio ho usato: Android creano progetto --target 8 --name Sample15App --path c: \ dev \ projects \ samples \ Sample15 --activity Sample15Activity --package com.me.samplefifteen

Questo farà una directory e alcuni file che si intende utilizzare in seguito come modello nei vostri progetti

2) Fai un progetto di esempio nello spazio di lavoro da Eclipse, ho fatto EclipseSample in uno dei miei spazi di lavoro

3) Copiare i seguenti file dalla Sample15App alla radice del vostro progetto EclipseSample:

build.xml ant.properties l ocal.properties

4) Modifica ant.properties (che è inizialmente vuota) di essere come questo esempio:

projectname=EclipseSample 
workspace.dir=/dev/projects/EclipseIndigo/AndroidWorkTwo 
base.dir=${workspace.dir}/${projectname} 
outbasebase.dir=/dev/projects/AntBuilds 
outbase.dir=${outbasebase.dir}/${projectname} 
ant.project.name=${projectname} 
out.dir=${outbase.dir}/bin 
layout.dir=${base.dir}/res/layout 
source.dir=${base.dir}/src 

Da questo si può vedere che il mio lavoro è /dev/progetti/EclipseIndigo/AndroidWorkTwo

progetto Eclipse in questo si trova nella directory EclipseSample

Voglio che i miei APK per finire in /dev/progetti/AntBuilds/EclipseSample (cioè outbasebase concatenato con projectname -quindi per altri progetti è possibile utilizzare un ant.properties molto simili sul file basta cambiare projectname)

5) IMPORTANTE - MODIFICARE lA build.xml

commento o rimuovere la riga:

<project name="Sample15App" default="help"> 

sostituirla con solo

<project> 

Questo significa solo che prenderà il nome del progetto da ant.properties piuttosto che il build.xml e si può usare lo stesso build.xml in tutti i vostri progetti, solo ant.properties hanno bisogno di cambiare

6) provare con "debug formica" dovrebbe costruire i APK di debug in/dev/progetti/AntBuilds/EclipseSample

7), infine, se si vuole automatizzare la build di rilascio (firma e password inserendo automaticamente) aggiungere linee come

key.store.password=YourPassword 
key.alias.password=YourPassword 
key.store=c:/users/you/yourrelease-key.keystore 
key.alias=release_alias 

alle ant.properties e poi basta digitare "rilascio formica"

Se non li aggiungi vi dirà di firmare manualmente e, poiché non voci di password sono stati trovati in 'build.properties '(era quello che ant.properties si chiamava pre SDK 14, avrebbero dovuto correggerlo!)

+0

grazie per il tuo tempo +1 proverò al più presto –

4

È possibile aggiungere nuovi builder al progetto utilizzando Project Properties->Builders->New....

Un modo per fare ciò è creare una formazione ant (che copia il file), o semplicemente un vecchio script o un file batch.

+0

Come posso far funzionare il file batch DOPO che la compilazione è terminata?precisamente dopo che il file apk nella cartella 'bin 'è stato creato –

+0

Puoi muovere i builder su e giù usando i pulsanti Su e Giù nella pagina Costruttori. Se vuoi che succeda dopo la costruzione, spostalo verso il basso dopo tutti gli altri costruttori. –

+0

Per favore nuda con me. Ho aggiunto un nuovo builder. Imposta la 'Posizione' sul percorso del file batch. Ora, in 'Build Options', c'è l'opzione chiamata" Esegui il builder: "dove dovrei scegliere almeno una delle checkbox: (Dopo una pulizia) - (Durante le build manuali) - (Durante le build automatiche) - (Durante un pulito). Nessuno di loro sta funzionando per me e il file batch sta dando un errore che il file non viene trovato, quindi sta tentando di copiare prima della creazione del file. Un'altra cosa, sembra che il file venga eseguito solo quando è selezionato "After a clean". –

Problemi correlati