2012-01-09 7 views
17

Ho generato ant build.xml per il mio progetto Android, usando android update project --name <project_name> --target <target_ID> --path path/to/your/project/ (secondo http://developer.android.com/guide/developing/other-ide.html) e poi modificato il mio build.xml (c'è del codice personalizzato). Quindi il mio build.xml è nel VCS.C'è un modo per generare ant file local.properties senza sovrascrivere build.xml?

Ma per eseguire una build ho bisogno del file local.properties, che è anche generato da android update project e quindi build.xml viene sovrascritto.

local.properties non deve essere controllato nel VCS.

C'è un modo per generare solo local.properties in modo che gli sviluppatori (o un server di compilazione) possano controllare il codice e creare il progetto utilizzando build.xml da VCS?

Grazie!

risposta

34

Non mettere local.properties nel VCS: generarla ogni volta che non esiste già (dopo un checkout pulito, per esempio), eseguendo

android update project -p . 

così androide in grado di generare con la strada giusta al sdk. ant.properties o project.properties sono pensati per essere inseriti in VCS con tutto ciò che è necessario risolvere su ogni possibile ambiente di costruzione.

Se non si desidera che il build.xml da modificare, modificare la voce versione-tag per qualcosa di diverso per il suo valore di default, che è 1. Per esempio:

<!-- version-tag: custom --> 

Se si dispone di uno sguardo ai commenti build.xml, afferma che dicendo:

*********************** 
****** IMPORTANT ****** 
*********************** 
    In all cases you must update the value of version-tag below to read 'custom' instead of an integer, 
    in order to avoid having your file be overridden by tools such as "android update project" 
+0

Accetto la tua risposta mentre risponde alla mia domanda – Fedor

1

Sembra che se viene specificato il parametro percorso solo (ad esempio android update project --path . quando viene chiamato dalla directory del progetto) solo local.properties e proguard.cfg file vengono aggiornati.

+3

... clobbering proguard.cfg è un po 'un problema. –

+1

'android update project --path .' C'era un errore di stampa nella risposta. Per favore aggiustalo. Il comando è giusto. –

+0

@MaksimDmitriev grazie! – Fedor

1

Dato che (in generale) contiene solo una singola proprietà, sdk.dir, che punta alla radice Android SDK dello sviluppatore, sono propenso a dire che non è chiedere troppo agli sviluppatori di crearlo a mano.

+0

Grazie per la risposta, ma in realtà ho avuto questo problema sul nostro server di build, quindi è un po 'problematico chiedergli di creare il file senza dire come farlo :) Ovviamente avrei potuto creare il file e non solo copiarlo al file di progetto da qualche parte, ma dato che possiamo avere diversi build slave, voglio renderlo più facile da configurare. Comunque, 'andorid update project --path .' funziona abbastanza bene per me. – Fedor

+0

Scusa, ho completamente ignorato dove hai detto "o un server di build" quando ho scritto la mia risposta. – slyfox

Problemi correlati