Poco Summerized, la mia struttura del progetto è come segue:
- A e B sono lib Android -Progetti, dove B dipende Un
- C (normale progetto android) dipende B
- T è Test-progetto Cfalliti automatizzati Android UI-test su Jenkins-server a causa di complesse dipendenze lib-progettuali del progetto principale (s)
devo corrispondentemente due progetti sul mio server Jenkins, uno per C e uno per T, che hanno il loro proprio script per costruire, utilizzando i comandi in realtà solo Android e formica. Quindi non ci sono problemi con la build di C, ma non riesco a ottenere la build di lavoro di T.
"Lavoro" dovrebbe significare che, a seconda dello script, non viene compilato o non riesce in fase di esecuzione a causa di alcune classi mancanti, che in realtà non potrebbero essere, o che non passano la fase di dexing a causa dell'aggiunta di duplicati.
Quindi è chiaro che c'è qualcosa di sbagliato nelle dipendenze, ma la cosa interessante è che funziona molto bene sulla macchina locale con eclissi & sull'emulatore.
Quindi, ecco un esempio di codice shell-script, che in realtà dovrebbe lavorare e creare un APK-file:
cd project-test
android update test-project -m ../projectC -p .
ant clean debug
Questo fa sì che, purtroppo, che alcune classi da da B, che sto anche andando a di prova, non è stato trovato dal compilatore Java e ottengo sempre errore come questo:
...
[javac] Compiling 14 source files to /home/mehmed/git/project/test-project/bin/classes
[javac] SomeActivityTest.java:8: package com.mydomain.portal.android.project.activity does not exist
[javac] import com.mydomain.portal.android.project.activity.SomeClass1;
[javac] ^
[javac] SomeActivityTest.java:9: package com.mydomain.portal.android.project.data does not exist
[javac] import com.mydomain.portal.android.project.data.SomeClass2;
[javac] ^
[javac] SomeActivityTest.java:10: package com.project.portal.android.project.util does not exist
[javac] import com.mydomain.portal.android.project.util.SomeClass3;
[javac] ^
...
ho provato quasi tutto il possibile per risolvere il problema che, anche modificando manualmente il file project.properties e compreso solo B o B e C, allo stesso tempo come lib progetti come questo:
cd project-test
android update test-project -m ../projectC -p .
echo "android.library.reference.1=../projectB" >> project.properties
# or even also projectA:
echo "android.library.reference.2=../projectA" >> project.properties
ant clean debug
che risulta questa volta in Dexing errori a causa di duplicato aggiungendo delle classi da lib progetti.
Qualcuno ha qualche idea su come risolvere questo? Grazie per l'aiuto in anticipo!
grazie per la risposta, è stato davvero utile ho appena riuscito a correggere l'errore. sfortunatamente è apparso un altro errore. si prega di vedere la mia risposta sul http://b.android.com/21720 –