Gradle aar library dependecy en el módulo: no se pudo resolver

Soy un novato con gradle y estoy teniendo un problema dependecy. Tengo la siguiente estructura del proyecto:

-MyApp -MyAppLibrary -MyAppPro -MyAppFree -ThirdPartyLibraryWrapper --libs\ThirdPartyLibrary.aar 

MyAppPro y MyAppFree dependen de MyAppLibrary , que depende de ThirdPartyLibraryWrapper . Como su nombre indica, ThirdPartyLibraryWrapper es un contenedor en una biblioteca externa, a saber, ThirdPartyLibrary.aar .

Esta es mi configuración:

Build.gradle MyAppPro

 apply plugin: 'com.android.application' android { compileSdkVersion 22 buildToolsVersion "22.0.1" defaultConfig { applicationId "com.example" minSdkVersion 8 targetSdkVersion 22 } buildTypes { release { minifyEnabled true proguardFiles 'proguard.cfg' } } } dependencies { compile project(':MyAppLibrary') } 

Build.gradle MyAppLibrary

 apply plugin: 'com.android.library' android { compileSdkVersion 22 buildToolsVersion "22.0.1" defaultConfig { minSdkVersion 8 targetSdkVersion 22 compileOptions { sourceCompatibility JavaVersion.VERSION_1_7 targetCompatibility JavaVersion.VERSION_1_7 } } buildTypes { release { minifyEnabled true proguardFiles 'proguard.cfg' } } } dependencies { compile project(':ThirdPartyLibraryWrapper') compile 'com.squareup.picasso:picasso:2.5.2' } 

Build.gradle ThirdPartyLibraryWrapper

 apply plugin: 'com.android.library' android { compileSdkVersion 22 buildToolsVersion "22.0.1" defaultConfig { minSdkVersion 8 targetSdkVersion 22 } buildTypes { release { minifyEnabled true proguardFiles 'proguard.cfg' } } } repositories { flatDir { dirs 'libs' } } dependencies { compile(name: 'ThirdPartyLibrary-0.1.0', ext: 'aar') compile "com.android.support:support-v4:22.0.0" compile fileTree(dir: 'libs', include: 'volley.jar') compile 'com.nostra13.universalimageloader:universal-image-loader:1.9.3' } 

Cuando la sincronización gradle se completa, tengo este error:

 MyApp/MyAppFre/ build.gradle: failed to resolve ThirdPartyLibrary-0.1.0 MyApp/MyAppLibrary/ build.gradle: failed to resolve ThirdPartyLibrary-0.1.0 MyApp/MyAppPro/ build.gradle: failed to resolve ThirdPartyLibrary-0.1.0 

¿Puede alguien ayudarme a averiguar dónde está el problema?

Los otros proyectos están viendo que el proyecto :ThirdPartyLibraryWrapper depende de un artefacto llamado ThirdPartyLibrary-0.1.0:aar . Las bibliotecas Java (y Android) no agrupan sus propias dependencias juntas, sino que simplemente publican una lista de sus dependencias. El proyecto consumidor es entonces responsable de cargar no sólo la biblioteca de la que depende directamente, sino todas las bibliotecas de las que depende la biblioteca .

El efecto neto de esto es que :MyAppFree está cargando en :ThirdPartyLibraryWrapper , luego viendo que :ThirdPartyLibraryWrapper depende de ThirdPartyLibrary-0.1.0:aar y así intentando cargar eso también. Sin embargo, :MyAppFree no sabe dónde está ThirdPartyLibrary-0.1.0:aar vive .. y así falla.

La solución será colocar bloques de repositories similares en todos sus otros proyectos. Prueba esto:

 repositories { flatDir { dirs project(':ThirdPartyLibraryWrapper').file('libs') } } 

El uso del método de project(...).file(...) le liberará de las rutas de los hardcode y usará el Gradle DSL para resolver la ruta del sistema de archivos buscando el proyecto y haciendo que haga la resolución dinámicamente.

  • No se puede hacer que el complemento de enlace de datos de Android funcione
  • Gradle para Android AAR dependiendo de AAR, ambos en el mismo repositorio remoto?
  • ¿Puede una biblioteca JAR de Android depender de una librería AAR de Android?
  • Actualización de dependencias de Gradle
  • Error: Error de ejecución de la tarea ': app: processDebugGoogleServices'. > Solucione el conflicto de versiones
  • Daga de referencia no resuelta 2 + kotlin + androide gradle
  • Dagger 2 generó el componente de prueba no reconocido
  • Problema con Android Studio Gradle después de actualizar a la versión 0.6.0
  • Excluir activos para el tipo de generación de versión
  • Creación de un detector Lint Java personalizado
  • La construcción funciona en depuración, falla en la liberación - entrada duplicada ZipException
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.