2011-05-27 8 views
6

He extraído una gran cantidad de funcionalidades de mi aplicación en una biblioteca. El problema es que me gustaría hacer uso de las clases de la biblioteca tanto en el código de producción como en las pruebas. El problema es que mi aplicación, mi biblioteca y el código de prueba son módulos separados, por lo que tanto el código de la aplicación como el código de prueba deben depender de la biblioteca. Cuando intento compilar el módulo de prueba, me sale el siguiente error:¿Cómo importo una biblioteca de Android y la uso tanto en el código de producción como en las pruebas?

UNEXPECTED TOP-LEVEL EXCEPTION: 
java.lang.IllegalArgumentException: already added: (some class) 

Es críptico, pero está tratando de decir que he intentado añadir la misma clase en el fichero de .dex más de una vez. No es demasiado sorprendente ya que el código de prueba depende del código de la biblioteca y de la aplicación en tiempo de compilación, que también depende de la biblioteca en el momento de la compilación. ¿Cómo configuro mis dependencias (o cambio mi código) para evitar esto?

NOTA: Estoy usando IntelliJ IDEA 10.5 CE, así que utilizo su terminología, pero creo que el problema es, al menos, conceptualmente independiente de IDE.

Respuesta

0

Hola, siento que el mismo jar se agrega varias veces de diferentes maneras.

Hay dos maneras de poner frasco en su proyecto

Right on Project->Properties->Java Build Path->Add Jars-> 
Right on Project->Properties->Java Build Path->Add External jars-> 

primero retire todos los frascos. dentro de la carpeta de la aplicación crea una carpeta allí pon todos los jar requeridos.

Right on Project->Properties->Java Build Path->Add Jars-> select your project folder and select the jar file 

Gracias Deepak

+0

Gracias por su respuesta, Deepak. Mi problema es un poco diferente, porque mi biblioteca no es simple .jar. Es un proyecto de biblioteca de Android, así que lo he importado como un módulo separado y le he agregado una dependencia de módulo. – Lyudmil

Cuestiones relacionadas