¿Cuál es la forma correcta de especificar un proyecto de biblioteca de Android para incluir sus dependencias
En Android Studio estoy intentando compilar un módulo de aplicación de Android que utiliza una biblioteca de Android.
La biblioteca incluye un archivo jar para Bugsense (incluido automáticamente por gradle).
Aunque el módulo de biblioteca compila correctamente, el módulo de aplicación falla porque está buscando el archivo jar de Bugsense que se utiliza dentro del módulo de biblioteca.
- Java.lang.NoClassDefFoundError: Resolución fallida de: Lorg / jacoco / agent / rt / internal_14f7ee5 / Desconectado
- Cómo averiguar compilar 'com.android.support:design:23.1.1'
- En Android Studio 2.1.3 ¿No funciona el gradle experimental?
- Utilizar diferentes recursos (gráficos y cadenas) para distintos sabores de aplicación utilizando gradle
- Problema con Android Studio Gradle después de actualizar a la versión 0.6.0
Tengo una solución que permite que el proyecto compile. Al incluir también la dependencia de Bugsense en el proyecto todo funciona.
Mi pregunta es: ¿Cómo compilar el proyecto sin duplicar la dependencia de Bugsense?
Aquí está mi archivo build.gradle para el proyecto de biblioteca.
buildscript { repositories { mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:0.6.+' } } apply plugin: 'android-library' repositories { mavenCentral() maven { url 'http://www.bugsense.com/gradle/' } } android { compileSdkVersion 15 buildToolsVersion "19.0.0" defaultConfig { minSdkVersion 15 targetSdkVersion 15 } } dependencies { compile 'com.bugsense.trace:bugsense:3.6' }
El proyecto de biblioteca se llama "util"
A continuación se muestra la sección android de build.gradle para la aplicación
android { compileSdkVersion 15 buildToolsVersion '19.0.0' defaultConfig { minSdkVersion 15 targetSdkVersion 15 } dependencies { compile project(':util') } }
Cuando compilo esto consigo el error siguiente:
* What went wrong: A problem occurred configuring project ':br'. > Failed to notify project evaluation listener. > Could not resolve all dependencies for configuration ':br:_DebugCompile'. > Could not find com.bugsense.trace:bugsense:3.6. Required by: dss:br:unspecified > dss:util:unspecified
Puedo hacer el trabajo de la compilación agregando Bugsense a la sección de los repositorios del archivo de build.gradle para la aplicación. A continuación se muestra el código que agregué al archivo build.gradle para el proyecto de aplicación.
repositories { mavenCentral() maven { url 'http://www.bugsense.com/gradle/' } }
Recuerde, el código anterior está en el build.gradle para el proyecto de aplicación Y la biblioteca.
¿Cómo evito agregar la dependencia de Bugsense a los proyectos de la aplicación y de la biblioteca?
ACTUALIZACIONES:
Estoy usando Gradle 1.8
Estoy compilando desde la línea de comandos con "gradle clean assembleDebug"
A continuación, se muestra el archivo build.gradle completo para el proyecto de aplicación:
buildscript { repositories { mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:0.6.+' } } apply plugin: 'android' repositories { mavenCentral() //maven { url 'http://www.bugsense.com/gradle/' } } android { compileSdkVersion 15 buildToolsVersion '19.0.0' defaultConfig { minSdkVersion 15 targetSdkVersion 15 testPackageName "com.myapp.test" } dependencies { compile project(':common') compile project(':util') } } dependencies { instrumentTestCompile 'com.jayway.android.robotium:robotium-solo:4.3' instrumentTestCompile 'com.squareup:fest-android:1.0.+' instrumentTestCompile 'com.squareup.spoon:spoon-client:1.0.+' instrumentTestCompile 'com.google.guava:guava:15.0' } configurations { spoon } dependencies { spoon 'com.squareup.spoon:spoon-runner:1.0.5' }
- Utilice diferentes VersionCode para Debug / Release android gradle build
- No se encuentra la dependencia de la biblioteca nativa de Android
- Error: Error de ejecución para la tarea ': ProjectName: mergeDebugResources'. > Crunching Cruncher * algunos archivos * fallaron, ver registros
- Cómo actualizar módulos importados con modificación de código desde el proyecto de su biblioteca externa en Gradle / Android Studio
- Android Studio Preview 3 error al generar la versión APK: release-stripped.ap_ no existe
- Android Studio: raíz VCS no registrada detectada
- Android Studio Gradle Error - PreDexDebug
- Android studio 3.0 Canary 1: la actualización del proyecto ha fallado
Es el comportamiento esperado. Sólo se tienen en cuenta las declaraciones de repositorio para el proyecto cuya configuración se resuelve actualmente, incluso cuando se trata de dependencias transitivas. Normalmente, los repositorios se declaran dentro del proyecto de allprojects { .. }
los proyectos raíz allprojects { .. }
o subprojects { ... }
bloque, en cuyo caso este problema nunca puede ocurrir.
PS: dependencies { .. }
necesita salir del bloque android { ... }
.
- ¿Dónde puedo obtener una lista de todos los comandos Robotium?
- Guardar la cadena de base64 como imagen usando phonegap?