我已经知道这个问题已经被经常问到并回答了,但是我发现没有一个答案可以解决我的问题。
这是错误的:
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
错误是bad class file magic (cafebabe) or version (0034.0000)。
bad class file magic (cafebabe) or version (0034.0000)
我在同一天内多次构建并执行该应用程序而没有出现问题,但是现在每次出现此消息均失败。
项目SDK为Android API 19 Platform,项目级别为1.7。
Android API 19 Platform
CompileSDK为19,buildToolsVersion为'20.0.0'。
编译选项:
compileOptions { sourceCompatibility JavaVersion.VERSION_1_7 targetCompatibility JavaVersion.VERSION_1_7 }
在dependencies我有:
compile files('libs/bananaquery.jar')
该库使用Android API 19 Platform具有项目级别的SDK构建1.7。
我的.jar文件在libs/文件夹中。
.jar
libs/
我使用·IntelliJ IDEA 14 Preview·,这可能是原因吗?凭借IntellIJ IDEA 13,它仍然停留在·“ Gradle sync”·中
·IntelliJ IDEA 14 Preview·
编译的文件可能是无用的,因为我有·compile fileTree(dir: ‘libs’, include: [‘*.jar’])·太多
我的JAVA_HOME变量更改为Java1.8,并且在编译纯java模块作为我的android项目的依赖项时收到此错误消息。
JAVA_HOME
java模块的build.gradle
apply plugin: 'java'
解决方案#1:快速清理脏东西我通过将其设置JAVA_HOME为1.7来修复它:
export JAVA_HOME=`/usr/libexec/java_home -v 1.7`
解决方案2:更改编译器版本: 在build.gradle中将此特定模块改回1.7
apply plugin: 'java' sourceCompatibility = 1.7 targetCompatibility = 1.7