Gradle: descargar Dependencias de aar-library incluidas
Escribí un proyecto de biblioteca- cameraBarcodeScanner
que está integrado en un archivo aar. Esta biblioteca tiene las siguientes dependencias definidas en su build.gradle:
dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) testCompile 'junit:junit:4.12' compile 'com.android.support:appcompat-v7:23.1.0' compile 'com.google.zxing:core:3.2.1' compile 'com.journeyapps:zxing-android-embedded:3.2.0@aar' }
Estoy usando la biblioteca en una aplicación de prueba como así:
- Renombrando apk en gradle
- Cómo suprimir "advertencia: Ignorar el atributo InnerClasses para una clase interna anónima" con Gradle?
- ¿Cómo puedo hacer coincidir una revisión de Servicios de Google Play con una versión de instalación?
- Android: ¿qué es la tarea de gradle conectada?
- Gradle Build se atasca en las tareas de ejecución:
dependencies { compile(name: 'cameraBarcodeScanner-release', ext: 'aar') }
Gradle encuentra la aplicación y es capaz de construirla. Sin embargo, en tiempo de ejecución, android no es capaz de encontrar las clases, que se encuentran en zxing-android-embedded
. Me parece que gradle no está descargando las dependencias del proyecto-biblioteca. También intenté:
dependencies { compile(name: 'cameraBarcodeScanner-release', ext: 'aar'){ transitive = true }
Pero esto tampoco ayudó. ¿Tengo que exponer las dependencias de la biblioteca de alguna manera? ¿Cómo usaría una biblioteca y haría que gradle descargara sus dependencias?
¡Gracias por adelantado!
- Android AssertJ 1.0.0 con Android gradle 1.1.1
- Prueba de Android: 'Múltiples archivos dex' cuando se usa 'cheque de gradle chequeado'
- ¿Cómo copiar o usar bibliotecas nativas con Android Studio Gradle?
- Android Studio: Gradle Product Flavors: Definir propiedades personalizadas
- Después de actualizar - Error: No se pudo encontrar: com.google.android.gms: play-services: 5.2.8
- Dónde poner manifestos de sabor para que se fusionen con el archivo principal de AndroidManifest
- Obtener error Gradle "No se pudo reservar espacio suficiente para montón de objetos" constantemente en Intellij IDEA
- Android Studio sigue recibiendo una versión no soportada de major.minor 52.0
El archivo aar no contiene las dependencias anidadas (o transitivas ) y no tiene un archivo pom que describe las dependencias utilizadas por la biblioteca.
Esto significa que, si está importando un archivo aar usando un flatDir
, debe especificar las dependencias también en su proyecto .
Debe utilizar un repositorio maven (tiene que publicar la biblioteca en un repo privado o público de maven), no tendrá el mismo problema.
En este caso, gradle descarga las dependencias usando el archivo pom que contiene la lista de dependencias.
- Iniciar otra actividad dentro de FrameLayout de TabActivity
- ¿Cómo saber dónde se almacenan las imágenes en la tarjeta SD, DCIM / Camera, DCIM / 100MEDIA?