运行应用程序Android时出错:错误:com.android.dx.cf.iface.ParseException:错误类文件magic(cafebabe)或版本(0034.0000)

时间:2016-04-08 12:35:03

标签: android

Error:com.android.dx.cf.iface.ParseException: bad class file magic (cafebabe) or version (0034.0000)
1 error; aborting
    at com.android.dx.command.dexer.Main.access$1500(Main.java:85)
    at com.android.dx.command.dexer.Main.parseClass(Main.java:764)
    at com.android.dx.cf.direct.DirectClassFile.parse0(DirectClassFile.java:472)
UNEXPECTED TOP-LEVEL EXCEPTION:
    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$ClassParserTask.call(Main.java:1684)
    at com.android.dx.command.dexer.Main.processClass(Main.java:749)
    ... 12 more
Error:Execution failed for task ':app:transformClassesWithDexForDebug'.
> com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command '/usr/lib/jvm/java-7-oracle/bin/java'' finished with non-zero exit value 1

1 个答案:

答案 0 :(得分:0)

当您引入新的jar时,这通常是java版本之间的兼容性问题。

首先尝试将兼容性添加到gradle with

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

我还在this answer上发现实际的类版本可能是问题所在。鉴于您的标题中有version 0034.0000,这更有可能是您的问题。

来自另一个答案:

  

版本必须介于45-50之间(主要版本)您的版本   这里使用的是0033.0000(十六进制为0x33),十进制为51(   代表Java 7的版本号

您应该确保您的构建工具在SDK管理器中是最新的,并使用Java 5或6重新编译您的库以避免此问题