2010-10-15 14 views
6

Ho seguito i passaggi indicati in the Android Developer Blog per generare un build.xml per creare versioni per un'applicazione Android. Ho bisogno di fare una compilazione personalizzata così ho sovrascritto la compilazione di destinazione di ant_rules_r3.xml come si dice nel build.xml generato.Salta convalida Eclipse di build.xml

<target name="compile" depends="-resource-src, -aidl, -pre-compile" ... 

Lo script funziona bene e genera l'apk, ma il problema è che Eclipse mostra un errore perché non riesce a trovare obiettivi -resource-src, -aidl e -pre-compile (che vengono caricati durante l'esecuzione dello script, ma non sono realmente presenti sul build.xml). Poiché ci sono questi errori, non posso lavorare con il progetto in Eclipse.

Come posso saltare la convalida di questo singolo file in Eclipse?

risposta

8

Non so se è possibile farlo per un singolo file ma penso che si possa disabilitare la convalida all'interno delle preferenze di eclissi in Convalida.

+0

Non risolve il problema. Ho sospeso tutti i validatori nella sezione Convalida e pulito il progetto ma gli errori sono ancora lì. Forse questi errori non provengono da un validatore. Eclipse chiama questo errore "Ant BuildFile Problem". – Javi

+8

Che ne dici di questo: sotto preferenze ant -> editor nella scheda Problemi "Ignora tutti i problemi del buildfile"? Puoi anche impostare un file specifico se non sbaglio. – kukudas

+0

grazie a che ha funzionato – Javi

1

La soluzione di Kukudas per "Ignora tutti i problemi del file build" risolve il problema di root.

Tuttavia, Eclipse rileva ancora il file buidl.xml come non funzionante e non consentirà a Ant Builder di chiamare il file. Infatti, Eclipse ignorerà silenziosamente tali passi di costruzione nel tuo progetto come se non ci fossero.

+0

Questo script ant è solo per costruire il progetto all'esterno di Eclipse. Voglio che Eclipse lo ignori, è solo un'alternativa alla generazione di apk di Eclipse. – Javi

+0

È un problema sul mio progetto, in cui sto utilizzando un'attività Ant (in entrambi i sistemi di compilazione) per popolare alcune costanti e risorse durante alcuni target precompilati. – Anm

7

Un'altra soluzione (meno drastica di disabilitare tutti i report di convalida/problema): Passare a Finestra-> Preferenze-> Ant-> Scheda Problemi. Aggiungi "build.xml" all'elenco ignorato ...

+0

Per me era Ant -> Preferenze -> Editor -> Scheda Problemi – Sam

0

Ho trovato una soluzione molto migliore del problema dell'eclisse che non trova i target di build dai progetti importati/inclusi. Prima di tutto, esegui l'upgrade allo sdk r14. Revision 14 utilizza solo un file build.xml dalla directory $ {sdk.dir}/tools/ant

Nella parte inferiore del file build.xml all'interno del proprio progetto, verrà visualizzata una dichiarazione di importazione simile a questo:

<import file="${sdk.dir}/tools/ant/build.xml"/> 

Modificare questa dichiarazione alla

<import file="${sdk.dir}/tools/ant/build.xml" as="androidbuild" /> 

Poi dal progetto, si può fare riferimento a quelli di destinazione con

<target name="compile" depends="androidbuild.-resource-src, androidbuild.-aidl, androidbuild.-pre-compile" /> 

Si noti inoltre che ora hanno attività di pre-compilazione/pre-compilazione che verranno chiamate prima della compilazione. (controlla il file build.xml per vedere esattamente quando vengono chiamati). Puoi usare questi come hook per fare un po 'di lavoro prima di compilarlo senza sovrascrivere le attività originali.

+0

Purtroppo questo non ha funzionato per me. Sarebbe stata una soluzione pulita. – Steve

+0

funziona, sto usando questo metodo da circa un anno ora senza problemi. –

+0

, è possibile che i target di build parent siano nascosti e non possano essere referenziati. Se usi targtes non nascosti (a partire da un trattino, allora sicuramente funziona). Dovrò testare questo specificamente perché sto facendo riferimento solo al rilascio e ai target puliti del file build padre. –

1

ho trovato 2 soluzioni che funzionano per me:

1 - La soluzione da kukudas sopra:

ne dite di questo: in Preferenze ant -> Editor nella scheda Problemi "Ignora tutto BuildFile i problemi" ? Puoi impostare un file specifico anche se non sbaglio. - kukudas 15 ottobre '10 a 10:28

Mentre lavora, questa soluzione è spazio di lavoro specifico e può essere abbastanza noioso se un utente vuole mantenere la convalida Ant per un paio di file, ma ignorare un gran numero di file.

2 - Eclipse sembra convalidare i file ant solo quando vengono aperti in un editor. Pertanto, un'altra soluzione implica l'apertura di file ant che non devono essere convalidati utilizzando eclipse. Sono riuscito a sbarazzarmi degli avvisi eseguendo un file backup-delete-restore.

Idealmente, la convalida delle formiche deve essere eseguita come tutte le altre convalida XML, in modo che possa essere configurata a livello di progetto.

Problemi correlati