Clases duplicadas R & BuildConfig después de "Reimport All Maven Projects"

Estamos construyendo nuestros proyectos de Android con Maven y IntelliJ IDEA. A veces debemos ejecutar "Reimport All Maven Projects", por ejemplo, para actualizar las dependencias. El problema con eso es que siempre desordena las carpetas de origen de los recursos: todos los módulos obtienen "gen" y "target / generated-source / r", que parece ser la causa de los duplicados. Así que después de reimportar, necesitamos eliminar manualmente uno de ellos (generalmente la carpeta "gen"). Por supuesto, queremos evitar este paso. Hemos probado varios ajustes para la faceta de Android, pero no hay suerte hasta ahora.

Entonces, ¿cómo podemos configurar IntelliJ para hacer un reimport Maven adecuado que sólo funciona?

Según la respuesta de Sven Strohschein en http://youtrack.jetbrains.com/issue/IDEA-94901 usted puede intentar:

  1. Eliminar las carpetas "gen", "destino" y "salir"
  2. Revertir los cambios dentro de los archivos "ipr" e "iml" (o simplemente eliminarlos todos, tal vez incluso la carpeta .idea)
  3. Iniciar IntelliJ 12
  4. Abrir el archivo pom
  5. Haga clic derecho -> "Maven" -> "Reimport"
  6. "Construir" -> "Reconstruir el proyecto"

Funciona para mí.

Después de que IDEA detecta y añade la faceta de Android al módulo, comenzaría a generar la carpeta gen en el lugar habitual, pero maven-android-plugin genera su propio directorio de target .

Necesitas decirle a IDEA que coloque los archivos generados en el mismo lugar donde maven-android-plugin crea.

Primero, usa la configuración de faceta de android del módulo y comprueba la opción de usar el objetivo de Maven en lugar de generar por sí mismo:

Introduzca aquí la descripción de la imagen

Luego, vaya a la configuración del módulo y defina la ruta de salida igual que Maven, que es target directorio de target :

Introduzca aquí la descripción de la imagen

Borrar los directorios gen , Haga mvn clean para borrar todos los archivos innecesarios.

De su descripción anterior supongo que la estructura de su proyecto difiere de la predeterminada de maven. Ver Introducción al POM . Pero creo que el androide android: generate-sources es más interesante si ha cambiado el directorio de activos etc.

Ejemplo:

 <sourceDirectory>${basedir}/src</sourceDirectory> <outputDirectory>${basedir}/target/classes</outputDirectory> 
  • No se puede encontrar la clase del jar del proyecto de la biblioteca cuando maven construye mi proyecto
  • Configuraciones de compilación de Android para varios clientes
  • Eclipse y Android y classpath: bin y destino
  • Android: Nombre del archivo final de Maven
  • ¿Cómo conoce Android Studio sobre las nuevas versiones de dependencia?
  • Gradle - biblioteca duplicados en dependencias
  • ¿Qué está haciendo Eclipse cuando dice que está actualizando índices?
  • Crear una dependencia gradle - eliminar el acceso a sus propias dependencias
  • Dependencias transicionales de AAR en Maven
  • ¿Cómo detiene Proguard de eliminar los parámetros de tipo?
  • Error de ejecución de la tarea ': bintrayUpload'.
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.