2010-10-12 12 views
9

Ho un codice java (compilato correttamente per Android) in un progetto di libreria (LIB) che voglio utilizzare in un altro progetto Android (A).Android - Junit - Progetto testato utilizza Jar esterno

Dato che il codice di LIB difficilmente cambierà molto, ho deciso di aggiungerlo come jar a A. Funziona benissimo.

Ho un altro progetto che è un progetto di strumentazione Android, testando il primo progetto Android (B).

Quindi quello che abbiamo ora è un compresi LIB come un vaso esterno e B testing A.

Il problema inizia quando voglio accedere dal codice B scritto in LIB. Da quello che vedo, a meno che non aggiunga LIB come jar esterno a B, si rifiuta di compilare (cioè, non può accedere al codice nel jar LIB incluso in A).

Sono riluttante aggiungere LIB come un vaso esterno per B perché: 1. non si sente bene, e 2. Quando si esegue il test non riesce con:

java.lang.IllegalAccessError: Class ref in pre-verified class resolved to unexpected implementation

ho trovato Mike's question , ma la sua soluzione copre solo la compilazione usando uno script ant, e al momento preferisco usare l'IDE Eclipse per questo progetto.

Qualche idea su come posso risolvere questo problema?

+2

Risolto seguendo [Questo post del blog] (http://dtmilano.blogspot.com/2009/12/android-testing-external-libraries.html). Sembra che dovrei avere _exported_ LIB da A, per renderlo accessibile da B. –

+0

Ciò ha aiutato. Ho esportato le dipendenze Android dal progetto principale (il jar era nella cartella libs, quindi non era possibile esportarlo direttamente), e nel progetto di test doveva anche controllare il progetto principale. Ora funziona. – Ixx

risposta

1

(Per eliminare questa domanda dal filtro "risposte" ...)

La soluzione è descritta qui:

Android Testing: External libraries

lib dovrebbero essere esportati da A a renderlo accessibile da B.

+0

Originariamente ho risposto alla mia domanda, ma la mia risposta è stata convertita in un commento da qualcuno nel sistema StackOverflow, fornendo il mio con un link alle faq. Immagino che il messaggio sia che la mia risposta non costituisce una risposta adeguata, in quanto è principalmente un riferimento al link esterno. –

+0

Hmm. Giusto. Comprendo la loro logica, ma solo se il sistema consentiva anche che tali domande venissero rimosse dal filtro "senza risposta" allo stesso tempo. Altrimenti è lasciato nel limbo per sempre. : - / – DreadPirateShawn

Problemi correlati