¿Pueden las bibliotecas de Android en Gradle tener otras bibliotecas de Android como dependencias?

¿Se permite esta estructura?

MyProject/ | settings.gradle + app/ | build.gradle + libraries/ + lib1/ | settings.gradle | build.gradle + libraries/ + sublib1/ | build.gradle + sublib2/ | build.gradle + lib2/ | build.gradle 

Tuve esto trabajando con Ant, pero con Gradle mi proyecto no puede encontrar sublib1 o sublib2.

Cuando corro gradle obtengo este error:

 * What went wrong: A problem occurred evaluating project ':libraries:lib1'. > Project with path ':libraries:sublib1' could not be found in project ':libraries:lib1'. 

Esto es settings.gradle de MyProject :

 include ':libraries:lib1' include ':libraries:lib2' 

Esto es build.gradle de MyProject :

 buildscript { repositories { mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:0.4' } } apply plugin: 'android' dependencies { compile fileTree(dir: 'libs', include: '*.jar') compile project(':libraries:lib1') compile project(':libraries:lib2') } android { compileSdkVersion 15 buildToolsVersion "17.0.0" sourceSets { main { manifest.srcFile 'AndroidManifest.xml' java.srcDirs = ['src'] resources.srcDirs = ['src'] aidl.srcDirs = ['src'] renderscript.srcDirs = ['src'] res.srcDirs = ['res'] assets.srcDirs = ['assets'] } instrumentTest.setRoot('tests') } } 

Esto es settings.gradle de lib1 :

 include ':libraries:sublib1' include ':libraries:sublib2' 

Esto es build.gradle de lib1 :

 buildscript { repositories { mavenCentral() } dependencies { compile fileTree(dir: 'libs', include: '*.jar') compile project(':libraries:sublib1') compile project(':libraries:sublib2') } } apply plugin: 'android-library' android { compileSdkVersion 15 } 

2 Solutions collect form web for “¿Pueden las bibliotecas de Android en Gradle tener otras bibliotecas de Android como dependencias?”

Gradle no parece soportar varios archivos settings.gradle . Este archivo debe estar presente sólo en la raíz del proyecto y debe incluir todos los subproyectos:

 include ':libraries:lib1', ':libraries:lib1:libraries:sublib1', ':libraries:lib1:libraries:sublib2', ':libraries:lib2' 

Fuente: http://www.gradle.org/docs/current/userguide/multi_project_builds.html

Puede tener otras bibliotecas como dependencias en un proyecto de biblioteca. En su settings.gradle sólo incluyen TODOS los módulos de aplicaciones / librerías.

Y en el proyecto de biblioteca que depende de otro módulo de biblioteca, sólo se agrega como una dependencia como cualquier otro módulo del proyecto.

En uno de mis módulos de biblioteca, la dependencia en gradle se ve así:

 dependencies { compile project(':library1') compile project(':library2') compile project(':library3') } 
  • Android Studio Gradle Error Error: Causa: net.rubygrapefruit.platform.internal.jni.PosixProcessFunctions.getPid () I
  • Shrink Debug Multi Dex Component; No se puede leer dir / allclasses.jar
  • Compartir código entre pruebas de instrumentación de Android y pruebas de unidad en Android Studio
  • Después de la actualización - crash com.google.android.gms: play-services: 5.2.8
  • Android Studio y PhoneGap, módulo android no está respaldado por gradle
  • Agregue el proyecto de Javadoc para Android con varios módulos de biblioteca
  • Android studio Gradle dependencia biblioteca descarga url
  • ¿Cómo construir Android gradle proyecto que contiene módulos con diferentes compileSdkVersion, targetSdkVersion y minSdkVersion?
  • Se encontró la configuración de JDK Gradle no válida?
  • No se ha establecido la raíz SDK de App Engine. Asegúrese de establecer la variable de entorno 'APPENGINE_HOME' propiedad del sistema 'appengine.sdk.root'!
  • Android Studio: ¿Cómo eliminar / filtrar las variantes de construcción para la depuración por defecto y la versión buildTypes y mantener sólo aquellos que utilizan buildTypes personalizado?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.