viral trata que moto hoy android intellij-idea android-gradle

android - trata - Mala clase de archivo de magia o versión



video viral de la moto (9)

Ya sé que la pregunta ya se ha hecho con frecuencia y las respuestas, pero ninguna de las respuestas que encontré resolvió mi problema.

Es el error:

Error:Gradle: Execution failed for task '':ffcommunity:preDexDebug''. com.android.ide.common.internal.LoggedErrorException: Failed to run command: D:/Android SDK/sdk/build-tools/20.0.0/dx.bat --dex --output D:/Users/ReVo/Documents/IntelliJ IDEA/FFCommunity/ffcommunity/build/intermediates/pre-dexed/debug/bananaquery-2ee85432877a057e7414910b8127805535139d5d.jar D:/Users/ReVo/Documents/IntelliJ IDEA/FFCommunity/ffcommunity/libs/bananaquery.jar Error Code: 1 Output: UNEXPECTED TOP-LEVEL EXCEPTION: com.android.dx.cf.iface.ParseException: bad class file magic (cafebabe) or version (0034.0000) at com.android.dx.cf.direct.DirectClassFile.parse0(DirectClassFile.java:472) at com.android.dx.cf.direct.DirectClassFile.parse(DirectClassFile.java:406) at com.android.dx.cf.direct.DirectClassFile.parseToInterfacesIfNecessary(DirectClassFile.java:388) at com.android.dx.cf.direct.DirectClassFile.getMagic(DirectClassFile.java:251) at com.android.dx.command.dexer.Main.processClass(Main.java:665) at com.android.dx.command.dexer.Main.processFileBytes(Main.java:634) at com.android.dx.command.dexer.Main.access$600(Main.java:78) at com.android.dx.command.dexer.Main$1.processFileBytes(Main.java:572) at com.android.dx.cf.direct.ClassPathOpener.processArchive(ClassPathOpener.java:284) at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:166) at com.android.dx.cf.direct.ClassPathOpener.process(ClassPathOpener.java:144) at com.android.dx.command.dexer.Main.processOne(Main.java:596) at com.android.dx.command.dexer.Main.processAllFiles(Main.java:498) at com.android.dx.command.dexer.Main.runMonoDex(Main.java:264) at com.android.dx.command.dexer.Main.run(Main.java:230) at com.android.dx.command.dexer.Main.main(Main.java:199) at com.android.dx.command.Main.main(Main.java:103) ...while parsing com/comuf/revonline/bananaquery/BananaInsert.class 1 error; aborting

El error es bad class file magic (cafebabe) or version (0034.0000) .

Construí y ejecuté la aplicación sin problemas muchas veces en el mismo día, pero ahora esto falla cada vez con este mensaje.

Project SDK es Android API 19 Platform y el nivel de proyecto es 1.7 .

CompileSDK es 19 y buildToolsVersion es ''20.0.0'' .

Opciones de compilación:

compileOptions { sourceCompatibility JavaVersion.VERSION_1_7 targetCompatibility JavaVersion.VERSION_1_7 }

y en dependencies tengo:

compile files(''libs/bananaquery.jar'')

La biblioteca está compilada con SDK Android API 19 Platform con nivel de proyecto 1.7 .

Mi archivo .jar está dentro de libs/ carpeta.

Yo uso IntelliJ IDEA 14 Preview, podría ser la razón? Con IntellIJ IDEA 13 permanece bloqueado en "Gradle sync"

compilar archivos podría ser inútil ya que he compile fileTree(dir: ''libs'', include: [''*.jar'']) también


Configurar JAVA_HOME de nuevo en 1.7 me funcionó.


En caso de que las personas encuentren que la respuesta de @Marco Acierno es poco clara, la solución es asegurarse de que está compilando con Java 7 y no con una versión superior.

Para Android Studio, cambie File -> Project Structure -> SDK Location -> JDK Location en jdk1.7.x Para la línea de comando, asegúrese de que java -version produce la java version "1.7.x" .


Este problema se produce cuando utiliza un archivo .jar que no utiliza ninguna función de Java 6 o superior, sino que se creó con Java 6 o superior.

Si construiste ese archivo .jar , entonces no necesitas cambiar nada en Gradle ProGuard o la Compiler Version . La solución es muy simple, solo .jar ese archivo .jar nuevo pero usando Java 5 o menos .

Más detalles


Ok, mi mal.

En la sección Project SDK, cuando agrega un Android SDK , debe proporcionar el Java SDK y todos mis SDK de Android usan Java 8 como SDK para que cree los archivos de clase con la versión incorrecta, incluso si el nivel del Proyecto es 1.7 (no lo hago). saber por qué, supongo que todo fue elegido por nivel de Proyecto).

Ahora cambié el SDK (la java version "1.x.0" ).

y parece compilar bien.

La razón por la que funcionaba antes de hoy era porque mi SDK era 1.8 y no Android API x


Tuve un problema similar, lo resolví actualizando mi proguard. consigue tu versión proguard con este comando

java -jar ~/android-sdks/tools/proguard/lib/proguard.jar

Obtenga el último archivo progaurd.jar desde aquí ( http://proguard.sourceforge.net )

reemplace el android-sdks / tools / proguard / lib / proguard.jar existente con el nuevo archivo .jar.

Espero que esto te ayude. Si usa java 8, entonces debe actualizar a proguard 5.x coz proguard 4.x no es compatible con java 8.


cambie toda su versión Java del módulo a Java 1.7 en cada archivo build.grade.

en el complemento que es biblioteca y aplicación

compileOptions{ sourceCompatibility=JavaVersion.VERSION_1_7 targetCompatibility=JavaVersion.VERSION_1_7 }

y en java

sourceCompatibility= 1.7 targetCompatibility= 1.7


comparta la solución del caso si solo está instalado Java8, simplemente configure el nivel del compilador Java en 1.7 y luego recompile el proyecto para que esté bien.


mi variable JAVA_HOME cambió a Java 1.8 y recibí este mensaje de error al compilar un módulo java puro como una dependencia de mi proyecto de Android.

build.gradle del módulo java

apply plugin: ''java''

Solución n. ° 1: Rápido y sucio

Lo arreglé estableciendo mi JAVA_HOME nuevo en 1.7:

export JAVA_HOME=`/usr/libexec/java_home -v 1.7`

Solución n. ° 2: cambiar la versión del compilador:

cambie de nuevo a 1.7 para este módulo específico en su build.gradle

apply plugin: ''java'' sourceCompatibility = 1.7 targetCompatibility = 1.7


tuve un problema similar cuando traté de agregar una biblioteca hecha por mí mismo de netbeans a android studio. estableciendo la compatibilidad de origen y destino en el estudio android y el formato fuente / binario en netbeans (¡ambos!) a java 1.7 resolvió el problema.

en el estudio de Android:

Estructura del proyecto -> Módulos / Aplicación -> Propreties -> Fuente y destino a 1.7

en netbeans:

Archivo -> Propiedades del proyecto -> Fuentes -> Formato fuente / binario a 1.7

luego limpia y crea tu netbeans projekt y copia el .jar de "NBProj / dist" a "app / libs"