使用JDK8

时间:2017-01-31 06:37:50

标签: java android gradle java-8

我有一个Android应用程序,因为有一个模块有一个build.gradle文件,如下所示 apply plugin: 'java'

使用JDK7构建完整的应用程序。但是,当我针对JDK8构建此应用程序时,在构建期间在Java模块中遇到异常。

  

Dex:将字节码转换为dex时出错:原因:   com.android.dx.cf.iface.ParseException:错误的类文件魔法   (cafebabe)或版本(0034.0000)       意外的顶级异常:com.android.dx.cf.iface.ParseException:错误的类文件魔术   (cafebabe)或版本(0034.0000)           在com.android.dx.cf.direct.DirectClassFile.parse0(DirectClassFile.java:472)           在com.android.dx.cf.direct.DirectClassFile.parse(DirectClassFile.java:406)           在com.android.dx.cf.direct.DirectClassFile.parseToInterfacesIfNecessary(DirectClassFile.java:388)           在com.android.dx.cf.direct.DirectClassFile.getMagic(DirectClassFile.java:251)           在com.android.dx.command.dexer.Main.processClass(Main.java:704)           在com.android.dx.command.dexer.Main.processFileBytes(Main.java:673)           在com.android.dx.command.dexer.Main.access $ 300(Main.java:83)           在com.android.dx.command.dexer.Main $ 1.processFileBytes(Main.java:602)           在com.android.dx.cf.direct.ClassPathOpener.processArchive(ClassPathOpener.java:284)           在com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:166)           在com.android.dx.cf.direct.ClassPathOpener.process(ClassPathOpener.java:144)           在com.android.dx.command.dexer.Main.processOne(Main.java:632)           在com.android.dx.command.dexer.Main.processAllFiles(Main.java:510)           在com.android.dx.command.dexer.Main.runMonoDex(Main.java:280)           在com.android.dx.command.dexer.Main.run(Main.java:246)           在com.android.dx.command.dexer.Main.main(Main.java:215)           在com.android.dx.command.Main.main(Main.java:106)

     

...解析com / java / Module.class

当我将插件更改为apply plugin: 'com.android.library以下时,即使使用JDK8,它也能正常运行。

使用JDK8构建时,Android构建中的Java插件是否有任何已知问题?

1 个答案:

答案 0 :(得分:0)

我在build.gradle文件中添加了这一行,并使用JDK8

成功构建

sourceCompatibility = 1.7