2010-10-12 12 views
9

Tengo un código Java (compila muy bien para Android) en un proyecto de biblioteca (LIB) que quiero usar en otro proyecto de Android (A).Android - Junit - El proyecto probado usa Jar externo

Como es poco probable que el código LIB cambie mucho, he optado por agregarlo como un jar a A. Funciona bien.

Tengo otro proyecto que es un proyecto de instrumentación de Android, probando el primer proyecto de Android (B).

Así que lo que tenemos ahora es un incluyendo LIB como un frasco externo, y A.

prueba B El problema comienza cuando quiero acceder desde el código escrito en B LIB. Por lo que veo, a menos que agregue LIB como un jar externo a B, se niega a compilar (es decir, no puede acceder al código en el jar de LIB que se incluye en A).

soy reacio a añadir LIB como un frasco externa a B debido a que: 1. Se no se siente bien, y 2. Cuando se ejecutan las pruebas falla con:

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

encontré Mike's question , pero su solución solo cubre la compilación usando un script ant, y actualmente prefiero usar el Eclipse IDE para este proyecto.

¿Alguna idea de cómo puedo solucionar este problema?

+2

Resuelto siguiendo [esta publicación del blog] (http://dtmilano.blogspot.com/2009/12/android-testing-external-libraries.html). Parece que debería haber exportado _ LIB de A, para hacer que esté accesible desde B. –

+0

Eso ayudó. Exporté las dependencias de Android del proyecto principal (el archivo jar estaba en la carpeta libs, por lo que no fue posible exportarlo directamente), y en el proyecto de prueba también tuve que verificar el proyecto principal. Ahora funciona. – Ixx

Respuesta

1

(Con el fin de eliminar esta pregunta del filtro "sin respuesta" ...)

La solución se describe aquí:

Android Testing: External libraries

El LIB debe ser exportado desde A para que sea accesible desde B.

+0

Originalmente respondí mi pregunta, pero mi respuesta se convirtió en un comentario de alguien en el sistema StackOverflow, proporcionándome un enlace al faq. Creo que el mensaje fue que mi respuesta no constituye una respuesta adecuada, ya que es principalmente una referencia al enlace externo. –

+0

Hmm. Lo suficientemente justo. Comprendo su lógica, pero solo si el sistema también permite que esas preguntas se eliminen del filtro "Sin respuesta" al mismo tiempo. De lo contrario, quedará en el limbo para siempre. : - / – DreadPirateShawn

Cuestiones relacionadas