使用JDK8生成时发生java语法异常
我有一个安卓应用程序,其中有一个模块有一个构建。gradle文件如下所示
apply plugin: 'java'
使用JDK7可以很好地构建完整的应用程序。然而,当我根据JDK8构建这个应用程序时,在构建过程中,Java模块中出现了以下异常
Dex: Error converting bytecode to dex: Cause: com.安卓.dx.cf.iface.ParseException: bad class file magic (cafebabe) or version (0034.0000) UNEXPECTED TOP-LEVEL EXCEPTION: com.安卓.dx.cf.iface.ParseException: bad class file magic (cafebabe) or version (0034.0000) at com.安卓.dx.cf.direct.DirectClassFile.parse0(DirectClassFile.java:472) at com.安卓.dx.cf.direct.DirectClassFile.parse(DirectClassFile.java:406) at com.安卓.dx.cf.direct.DirectClassFile.parseToInterfacesIfNecessary(DirectClassFile.java:388) at com.安卓.dx.cf.direct.DirectClassFile.getMagic(DirectClassFile.java:251) at com.安卓.dx.command.dexer.Main.processClass(Main.java:704) at com.安卓.dx.command.dexer.Main.processFileBytes(Main.java:673) at com.安卓.dx.command.dexer.Main.access$300(Main.java:83) at com.安卓.dx.command.dexer.Main$1.processFileBytes(Main.java:602) at com.安卓.dx.cf.direct.ClassPathOpener.processArchive(ClassPathOpener.java:284) at com.安卓.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:166) at com.安卓.dx.cf.direct.ClassPathOpener.process(ClassPathOpener.java:144) at com.安卓.dx.command.dexer.Main.processOne(Main.java:632) at com.安卓.dx.command.dexer.Main.processAllFiles(Main.java:510) at com.安卓.dx.command.dexer.Main.runMonoDex(Main.java:280) at com.安卓.dx.command.dexer.Main.run(Main.java:246) at com.安卓.dx.command.dexer.Main.main(Main.java:215) at com.安卓.dx.command.Main.main(Main.java:106)
...while parsing com/java/Module.class
当我将插件更改为低于apply plugin: 'com.安卓.library
时,即使使用JDK8,它也可以正常构建
使用JDK8构建时,安卓构建中的Java插件是否存在已知问题
# 1 楼答案
我在build中添加了这一行。gradle文件及其使用JDK8成功构建
sourceCompatibility = 1.7