2012-06-28 18 views
21

Aggiungo un progetto di libreria Android alla mia app Android (in questo caso, Beintoo). Non è mio; È una libreria esterna. Tuttavia, non viene fornito con build.xml. Costruzione in Eclipse funziona bene, ma quando tento di costruire la mia app con formica, ottengo questo:L'aggiunta di un progetto di libreria Android a un progetto Android impedisce a Ant di creare

BUILD FAILED 
C:\Sandbox\MyProject\build.xml:110: The following error occurred while executing this line: 
C:\Sandbox\MyProject\build.xml:41: The following error occurred while executing this line: 
C:\Program Files (x86)\Android\android-sdk\tools\ant\build.xml:515: Invalid file: C:\Git\Beintoo-Android\beintoo-android-sdk\BeintooSDK\build.xml 

E 'perfettamente vero. Il file non è valido, perché non esiste. Non saprei cosa fare per aggiungerlo in sicurezza, né se è una buona idea.

Ho imparato che non posso semplicemente costruire il progetto di libreria in un vaso. Come posso costruire il mio progetto in Ant con questo progetto di biblioteca?

risposta

33

Ok, quindi, la risposta Errore 454 di era vicino, ma non proprio giusto. Dal momento R14 di Android Tools, ogni progetto libreria deve avere un proprio build.xml se deve essere costruita da Ant, come notato qui:

https://groups.google.com/forum/?fromgroups#!topic/adt-dev/Z2e3dY-3Ma0

accorrono android update lib-project (che, come Errore 454 note, è in la cartella android-sdk/tools che dovrebbe essere in PATH) sul progetto della libreria aggiungerà un generico build.xml e consentirà la costruzione del progetto principale.

+3

Ottima risposta! Più specificamente ho dovuto eseguire "android update lib-project -p." dall'interno del progetto della biblioteca. Questo genera build.xml e proguard-project.txt. – runamok

19

Per i progetti di libreria, è necessario individuare la radice del progetto biblioteca ed eseguire:

android update lib-project -p . 

Il Android eseguibile è nella Android cartella SDK/strumenti che dovrebbero essere aggiunti al tuo variabile di percorso nella vostra OS. Una volta eseguito questo, verranno generati i file di build necessari e la tua formica dovrebbe avere successo.

Allo stesso modo, se il progetto di primo livello non ha i file di generazione necessarie, è necessario individuare la radice del progetto principale ed eseguire:

android update project -p . 
+0

Ho scoperto ed eseguito "android update lib-project" sul progetto della libreria, che sembrava essere di aiuto, ma non totalmente riuscito. Fare la tua soluzione sull'app lancia una NullPointerException, quindi fino a quando non ho scoperto il problema, non posso dire quanto sia efficace in situazioni normali. – AlbeyAmakiir

2

In aggiunta alle due risposte corrette precedenti, dovevo aggiungere --target android-16 perché ricevevo un "Errore: il progetto non ha alcun target impostato o il target non è valido."

Così nel mio caso

android update lib-project -p . --target android-16 

ha fatto. (sostituisci il 16 di cui hai bisogno)

Problemi correlati