Android Studio y Gradle – falla la compilación

Estoy construyendo un pequeño proyecto de biblioteca junto con un proyecto de muestra para ilustrar el uso. No puedo ejecutar la muestra en Android Studio. He creado el proyecto desde cero. Tengo experiencia con Eclipse, pero es mi primer intento en Android Studio & Gradle.

El error dado:

Gradle: La ejecución falló para la tarea ': demo: dexDebug'.

No se pudo ejecutar C: \ DevTools \ Android \ android-studio \ sdk \ build-tools \ android-4.2.2 \ dx.bat. Ver salida

Tengo la estructura siguiente de la carpeta:

- demo - build - libs - android-support-v4.jar - src - main - java - res - build.gradle - library - build - libs - android-support-v4.jar - src - main - java - res - build.gradle - build.gradle - settings.gradle 

Build.gradle en la raíz del proyecto:

 // Top-level build file where you can add configuration options common to all sub-projects/modules. 

Settings.gradle en la raíz del proyecto:

 include ':library', ':demo' 

Build.gradle para el módulo de biblioteca:

 buildscript { repositories { mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:0.4' } } apply plugin: 'android-library' dependencies { compile files('libs/android-support-v4.jar') } android { compileSdkVersion 17 buildToolsVersion "17.0.0" defaultConfig { minSdkVersion 7 targetSdkVersion 16 } } 

Build.gradle para el módulo de muestra:

 buildscript { repositories { mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:0.4' } } apply plugin: 'android' dependencies { compile project(':library') compile files('libs/android-support-v4.jar') } android { compileSdkVersion 17 buildToolsVersion "17.0.0" defaultConfig { minSdkVersion 7 targetSdkVersion 16 } } 

Especificar los compile files('libs/android-support-v4.jar') significa que cada biblioteca incluye soporte v4. Lo que usted quiere hacer es simplemente especificar que cada biblioteca depende de él:

 dependencies { compile 'com.android.support:support-v4:13.0.0' } 

Esto permitirá que gradle detecte todas las dependencias e incluya esto sólo una vez.

Nota: Primero debe usar el SDK Manager y descargar e instalar dos repositorios Maven: "Android Support Repository" y "Google Repository".

Encontré el problema:

Quité esa línea del archivo gradle de muestra.

 compile files('libs/android-support-v4.jar') 

Sin embargo, no tengo idea de por qué esto no funciona (si tengo 2 o 3 bibliotecas externas que dependen de la biblioteca de soporte, ¿cómo se supone que debemos hacer, sin tocar sus archivos gradle?

Usted debe navegar a su libs carpeta en el IDE, haga clic derecho en el frasco y seleccione para agregar la biblioteca al proyecto, todavía tiene que establecer la dependencia a pesar de que el frasco parece estar allí. También observe su gradle construido script para asegurarse de que la dependencia aparece allí. Si eso todavía no funciona, simplemente ejecute un gradle limpio en el proyecto. La documentación de Intelli le dará más detalles sobre lo que hace limpio. ver:

Stackoverflow gradle build

  • Android gradle buildTypes: Clase duplicada
  • JNI y Gradle en Android Studio
  • Error al cargar la biblioteca nativa 'libnative-platform.so' para Linux amd64
  • AndroidAnnotations Nada generado, actividad vacía
  • Instruir la secuencia de comandos Gradle de Android para eliminar apks no alineados y limpiar los archivos de artefacto
  • Gradle 0.9. + / 0.9.2 error: No se puede cargar la clase 'com.android.builder.testing.api.DeviceProvider'
  • Usar el nombre del paquete en XML
  • Android Studio - tarea de gradle para ejecutar después de SYNC
  • Cómo depurar el módulo de la biblioteca android en Android Studio?
  • Convertir el proyecto de Android para utilizar Gradle Script Kotlin
  • Gradle build falló en Android Studio versiones nuevas y viejas en OSX
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.