¿Qué es Maven en Android Studio?

Hay muchas respuestas sobre cómo usar Maven en Android y trabajar con él.

Sin embargo , ya que ya está disponible Gradle , que gestiona el proceso de construcción de proyectos de Android y soporta escenarios complejos en la creación de aplicaciones para Android, como Multi-distribution y Multi-apk ,

¿Cuál es exactamente el papel de Maven en Android Studio?

¿ Y cómo es diferente de Gradle ?

La respuesta corta es: Las herramientas hacen lo mismo, pero de diferentes maneras. La diferencia es cómo puede utilizar entonces para construir su proyecto. Apache Maven va para "seguir nuestra convención" forma y Gradle le da flexibilidad. Algunos desarrolladores no quieren una nueva herramienta o no tienen tiempo para aprender a usarla correctamente.

Ahora la larga respuesta …

Para entender correctamente por qué algunos desarrolladores están asociados a Apache Maven, tenemos que buscar algunos años en el pasado.

Apache Maven es una herramienta de automatización de la construcción como Gradle .

Maven consiguió lanzado en 2004. Gradle primera versión de Gradle salió en 2007 pero él no hizo tan popular como Maven en los días tempranos. A algunos desarrolladores no les gusta tener que aprender algo nuevo y la mayoría de las empresas no quieren arriesgarse al intercambio de una herramienta que ya funciona y domina ( Maven ) para el nuevo chico en el bloque.

Gradle se hizo popular cuando se desarrolló el desarrollo de Android. El proyecto de Android tiene una estructura de proyecto diferente de los proyectos Java EE / Web. Intentar usar Maven en el proyecto de Android sólo se siente antinatural, la herramienta no estaba preparada para proporcionar flexibilidad.

Hasta ahora, Apache Maven puede ser utilizado en proyectos sencillos de Java EE sin ser un dolor en el culo si ya conoce las convenciones forzadas. Así que los desarrolladores que no son conscientes de Gradle / no se puso en contacto con las aplicaciones de Android no tienen una motivación para cambiar a otra herramienta.

En mi opinión, Gradle es mejor que Apache Maven en todos los sentidos que te puedas imaginar. Te da flexibilidad e intenta no interponerse en tu camino, una "característica" que no puedes encontrar en Apache Maven . Si no sigue Apache Maven ciclo de vida de Apache Maven , su compilación fallará, eso es todo.

Por ejemplo, su código se puede distribuir a través de muchos directorios en cualquier tipo de diseño si está utilizando Gradle . Si estás en Maven y no sigues la 'convención', perderás algunas horas cambiando tu pom (archivo de compilación de Maven ) para poder entender y manejar tu estructura de carpetas.

Por ejemplo: El código fuente de Java debe estar en la carpeta src/main/java . Si tienes un proyecto antiguo y la estructura es src/java , lo siento, no tienes ninguna garantía de que todos los plugins de Maven se ejecutarán como se esperaba.

Gradle nos hace un favor y pone más características a la comparación en un gráfico muy organizado. Echar un vistazo. https://gradle.org/maven_vs_gradle/

  • Android + eclipse + maven + acciónbarsherlock
  • Android Maven Eclipse todavía no puede importar apklib
  • Android: error que incluye / reempaque las dependencias que hacen referencia a las clases principales de javax
  • Android Maven No se pudo encontrar la herramienta 'aapt'
  • Maven y android - Creaciones ligeramente diferentes para diferentes entornos
  • Mvn android: deploy no funciona (a pesar de la confirmación del éxito)
  • Importación de apklib desde github con Maven
  • ¿Por qué gradle android plugin no genera dependencias para intellij idea módulo
  • Error al crear un proyecto de Android con Maven: nivel de plataforma / API 16 no disponible
  • Maven y Android - No se puede encontrar el símbolo
  • MAVEN SDK no válido: Nivel de plataforma / API 16 no disponible
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.