Error: Gradle: ejecución fallida para la tarea ‘: app: preDexDebug’

Tuve un jarro creado por mí mismo de otro proyecto importado como biblioteca en mi otro proyecto. Cuando cambié el código en ese proyecto y exporté un nuevo jar para reemplazar el anterior, ya no puedo ejecutar mi aplicación. Solo recibo el siguiente error:

enter image description here

He intentado eliminar y agregar y agregar como dependencia, agregando como biblioteca. Nada parece funcionar. También hice una construcción limpia y una reconstrucción.

Hemos visto este problema en el pasado cuando nuestro proyecto estaba comstackndo con una versión de Java diferente a la utilizada para comstackr la biblioteca. El número mágico solo se usa para identificar archivos de clase, así que ese no es el problema aquí. El problema es la versión de Java (0034.0000 == Java 8).

Lo más fácil es apuntar a Java 6, que puede requerir la eliminación de la syntax más reciente de su código. En nuestro caso, tanto el proyecto como la biblioteca eran nuestros, así que pudimos agregar lo siguiente para forzar la versión de Java que necesitábamos:

Bibliotecas de Android

para las bibliotecas de Android, agregue este código al objeto de extensión “android”:

android { ... compileOptions { sourceCompatibility JavaVersion.VERSION_1_6 targetCompatibility JavaVersion.VERSION_1_6 } ... } 

Bibliotecas Java

para las bibliotecas de Java, agregue este código en el “nivel superior”:

 apply plugin: 'java' version '1.8.1' group 'com.yourcompany.package' sourceCompatibility = JavaVersion.VERSION_1_6 //these two lines targetCompatibility = JavaVersion.VERSION_1_6 //are the only ones that matter 

NOTA: las últimas dos líneas son las únicas que importan, agregué las otras solo para mostrar dónde pertenecen esas líneas, con respecto al rest de su archivo de comstackción gradle.

Para nosotros, esto fue causado por la versión de Android SDK build-tools. Obtuve el problema en v23.x, pero no en v22.x. Necesita desinstalar v23 para cordova para elegir v22.

Posiblemente sea un síntoma más que una causa, pero esto puede despegar a alguien en la misma situación.

Aunque su problema parece estar solucionado, terminé aquí con un error similar (al comstackr las muestras de developer.android.com). En caso de que sea útil para otros, pude resolverlo estableciendo JAVA_HOME en el valor apropiado. En mi caso fue:

 export JAVA_HOME=/usr/lib/jvm/java-6-openjdk-amd64 

agregando:

 sourceCompatibility = JavaVersion.VERSION_X_X targetCompatibility = JavaVersion.VERSION_X_X 

en el archivo gradle del proyecto Android y el archivo gradle de la biblioteca Java funcionó para mí.

Lo siento, hubiera hecho +1 en ello, pero no tengo una reputación lo suficientemente alta