Dependencias transicionales de AAR en Maven

Estoy construyendo una aplicación para Android de un proyecto de Maven que utiliza el complemento android-maven. En este proyecto estoy usando la nueva biblioteca de enlace de datos beta.

Se encuentra en el repositorio local del SDK de Android (extras / android / m2repository). Las bibliotecas de este repositorio se empaquetan como tipo aar.

Puedo añadir la dependencia en mi pom así:

<dependency> <groupId>com.android.databinding</groupId> <artifactId>library</artifactId> <version>1.0-rc1</version> <type>aar</type> </dependency> 

Esto parece funcionar, pero la compilación falla con esto:

Error al ejecutar el objetivo en la demostración del proyecto: No se pudo resolver las dependencias para el proyecto com.simpligility.android:demo:apk:1.0.0: No se encontró com.android.support:support-v4:jar:21.0.3 en el archivo: / // Usuarios / eppleton / Bibliotecas de Java / android-sdk-macosx / extras / android / m2repository se almacenó en caché en el repositorio local, la resolución no se volverá a intentar hasta que el intervalo de actualización de android-local-extras haya transcurrido o las actualizaciones sean forzadas. [Ayuda 1]

Es correcto que no haya soporte-v4: jar en este repositorio local, ya que en la versión 20 de API hay support-v4: aar en su lugar.

¿Hay una manera de hacer maven buscar el aar en lugar de la jarra?

Ps: Para mis propias compilaciones locales tengo varias soluciones (por ejemplo, reempaquetar como jar), pero yo preferiría una solución más genérica, ya que quiero compartir la configuración en un arquetipo de maven, y no quiero que los usuarios lo hagan Un montón de trabajo manual. Ahora mismo esta es la mejor solución que tengo:

  <dependency> <groupId>com.android.support</groupId> <artifactId>support-v4</artifactId> <version>21.0.3</version> <scope>system</scope> <systemPath>${android.sdk.path}/extras/android/support/v4/android-support-v4.jar</systemPath> </dependency> 

Pero no es realmente agradable, dependencias transitivas resueltas como aar sería mucho más agradable.

OK, encontré una solución. Puedo excluir la dependencia y agregarla de nuevo directamente como tipo 'aar':

  <dependency> <groupId>com.android.support</groupId> <artifactId>support-v4</artifactId> <version>21.0.3</version> <type>aar</type> </dependency> <dependency> <groupId>com.android.databinding</groupId> <artifactId>library</artifactId> <version>1.0-rc1</version> <type>aar</type> <exclusions> <exclusion> <groupId>com.android.support</groupId> <artifactId>support-v4</artifactId> </exclusion> </exclusions> </dependency> 
  • Cómo crear un archivo .jar desde un proyecto de Android Studio
  • Biblioteca de archivos de Android (aar) vs jar estándar
  • Modificar clase en jar: android build failed
  • Android Studio preDexDebug después de agregar jar archivo
  • ¿Se incluyen métodos no referenciados en el ejecutable final?
  • Cómo generar un archivo jar para un proyecto java y usar el jar en un proyecto android
  • NoClassDefFoundError: Problemas con la vinculación de mi propio frasco al proyecto de Android
  • Android - Agregar biblioteca externa al proyecto
  • Archivo jar en carpeta res / raw
  • Ejecutar un tarro multidex independiente en Android Kitkat
  • Jar Mismatch Se encontraron 2 versiones de android-support-v4.jar en la lista de dependencias
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.