¿Cómo puedo importar una biblioteca de Android y usarla tanto en el código de producción como en las pruebas?

He extraído un montón de funcionalidad de mi aplicación en una biblioteca. El problema es que me gustaría hacer uso de las clases de biblioteca en código de producción y pruebas. El problema es que mi aplicación, mi biblioteca y el código de prueba son módulos independientes, 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 la prueba, consigo el error siguiente:

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

Es críptico, pero está tratando de decir que he intentado agregar la misma clase al archivo .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 tiempo de compilación. ¿Cómo puedo configurar mis dependencias (o cambiar mi código) para evitar esto?

NOTA: Estoy utilizando IntelliJ IDEA 10.5 CE, por lo que utilizo su terminología, pero creo que el problema es al menos conceptualmente IDE-agnóstico.

Es un error en IDEA, hemos enviado un problema para él, por favor , ver / votar .

Hola me siento el mismo tarro se agrega varias veces usando diferentes maneras.

Hay dos maneras de poner jar 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 su carpeta de aplicación crear una carpeta allí poner todos los frascos necesarios.

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

Gracias Deepak

  • Manera más eficiente de pausar el bucle deseado
  • Androide. ActiveJDBC es posible?
  • ¿Qué significa el "m" para el código java
  • Crea una biblioteca nativa de Android con Adobe Air
  • Saltar una pantalla de bienvenida
  • RxJava Multithreading con Realm - Acceso al dominio desde un subproceso incorrecto
  • Gradle Sync Falló - Android Studio 2.3.1
  • Problema con el archivo de envío de Bluetooth de Android
  • Impresión del nombre del enum
  • Android MediaPlayer.OnBufferingUpdateListener - El porcentaje de contenido almacenado en búfer es negativo
  • Método startManagingCursor (cursor) obsoleto
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.