No se puede utilizar el archivo .aar local dentro del módulo de biblioteca

Tengo un aar de la biblioteca socialauth-android agregado a mi proyecto. Lo he puesto dentro del directorio flatDir como se describe aquí y funciona muy bien.
Ahora, estoy moviendo parte de mi código en el módulo de biblioteca denominado commons , para reutilizarlo en el otro proyecto. socialauth-android será utilizado enteramente por el módulo de biblioteca, así que lo he movido dentro del project/commons/libs/ an reescrito mis archivos de build.gradle . De ahora en adelante no puedo construir mi proyecto, porque surge el siguiente error:

 Error:A problem occurred configuring project ':ScrollApplication'. > Could not resolve all dependencies for configuration ':ScrollApplication:_developmentDebugCompile'. > Could not find :socialauth-android:. Searched in the following locations: http://dl.bintray.com/populov/maven//socialauth-android//socialauth-android-.pom http://dl.bintray.com/populov/maven//socialauth-android//socialauth-android-.aar https://oss.sonatype.org/content/repositories/snapshots//socialauth-android//socialauth-android-.pom https://oss.sonatype.org/content/repositories/snapshots//socialauth-android//socialauth-android-.aar https://repo1.maven.org/maven2//socialauth-android//socialauth-android-3.2.pom https://repo1.maven.org/maven2//socialauth-android//socialauth-android-3.2.aar file:/home/artem/Workspace/scrollandroid/libraries/socialauth-android-3.2.aar file:/home/artem/Workspace/scrollandroid/libraries/socialauth-android.aar Required by: scrollandroid:ScrollApplication:unspecified > scrollandroid:commons:unspecified 

El error dice que el resolvedor de dependencia intenta encontrar socialauth-android.aar dentro de la carpeta del project/libraries que es la carpeta para todas las bibliotecas comunes compartidas entre los módulos de mi proyecto. Pero he escrito en mi archivo de project/commons/build.gradle que el flatDir para el módulo commons es project/commons/libs ! Además, todas las bibliotecas contenidas en el project/commons/libs/ se encuentran durante la compilación sin ningún problema.

¿Cuál puede ser la fuente de este problema?

A continuación se muestran mis archivos build.gradle (algunos de sus códigos, como las declaraciones de dependencias, se descartan por brevedad):

proyecto / settings.gradle :

 include ':ScrollApplication', ':commons' 

proyecto / build.gradle :

 buildscript { repositories { jcenter() } dependencies { classpath 'com.android.tools.build:gradle:1.0.0-rc1' } } 

proyecto / commons / build.gradle :

 apply plugin: 'com.android.library' repositories { maven { url 'https://oss.sonatype.org/content/repositories/snapshots/' } mavenCentral() flatDir { dirs "libs" } } android { compileSdkVersion 21 buildToolsVersion "21.1.1" defaultConfig { minSdkVersion 14 targetSdkVersion 21 versionCode 1 versionName "1.0" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } } dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) compile(name:'socialauth-android', ext:'aar') } 

proyecto / app / build.gradle :

 apply plugin: 'com.android.application' repositories { maven { url "http://dl.bintray.com/populov/maven" } maven { url 'https://oss.sonatype.org/content/repositories/snapshots/' } mavenCentral() flatDir { dirs "../libraries" } } configurations { apt } android { compileSdkVersion 21 buildToolsVersion "21.1.1" defaultConfig { minSdkVersion 14 targetSdkVersion 21 } lintOptions { abortOnError false } } dependencies { compile project(':commons') compile fileTree(dir: '../libraries', include: ['*.jar']) } 

Actualización : estructura del proyecto agregada

 ├── build.gradle ├── commons │  ├── build.gradle │  ├── libs │  ├── proguard-rules.pro │  └── src │  ├── androidTest │  │  └── java │  └── main │  ├── AndroidManifest.xml │  ├── assets │  ├── java │  └── res ├── gradle │  └── wrapper ├── libraries │  ├── aws-android-sdk-1.7.1.1-core.jar │  ├── aws-android-sdk-1.7.1.1-s3.jar │  ├── libGoogleAnalyticsServices.jar │  └── supertooltips-3.0.1.aar ├── scrollandroid-hg.iml ├── ScrollApplication │  ├── build.gradle │  ├── proguard.cfg │  ├── ScrollApplication.iml │  └── src │  └── main │  ├── AndroidManifest.xml │  ├── assets │  ├── java │  └── res ├── settings.gradle └── stacktrace.txt 

Parece que la biblioteca "commons" se está construyendo correctamente (¿se puede compilar por separado para verificar?), Pero la aplicación no lo es. Gradle tiene algunas reglas especiales para manejar dependencias transitivas (dependencias anidadas en otras dependencias) que existen ya que "commons" depende de "socialauth-android".

Intenta agregar un directorio extra al atributo "flatDir" en "project / app / build.gradle"

 flatDir { dirs "../libraries", "../commons/libs" } 

Parece ser un problema conocido que ha estado allí por mucho tiempo. La forma de incluir la dependencia .aar ahora días es como se hace referencia en esta pregunta:

Agregar archivos .aar locales a la generación de Gradle utilizando "flatDirs" no funciona

De forma predeterminada, el artefacto resultante no incluirá los archivos en el archivo .aar, a menos que cree una tarea de gradle que copie el contenido .aar en el artefacto deseado.

Si planea publicar su biblioteca .aar en un reporte de Maven, el archivo POM resultante tendrá su versión de dependencia definida como indefinida. Para cambiarlo, tendrá que trabajar con los métodos de sustitución de dependencia de gradle en su proyecto.

  • ¿Por qué no funcionan las personalizaciones de las variantes de Android gradle?
  • Cómo configurar la JVM de Gradle en Android Studio 1.3
  • Android Scala y Gradle
  • Cordova Android - ERROR construyendo una de las plataformas: Código de error 1 para comando:
  • Compile 'com.android.support:multidex:1.0.1' sucedió mal: todas las bibliotecas de soporte técnico de android deben usar la misma versión
  • Android Studio no logra construir
  • Cómo personalizar gradle android test html report
  • Obtener Resolver error al importar proyecto en android studio, No se puede cargar la clase 'org.codehaus.groovy.runtime.typehandling.ShortTypeHandling'
  • Automáticamente versión del proyecto Android de git describir con Android Studio / Gradle
  • Edición de problemas apk file
  • Construir apk con error gradle
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.