java - 使用 JDK8 构建时出现 ParseException

标签 java android gradle java-8

我有一个 android 应用程序,其中有一个具有 build.gradle 文件的模块,如下所示apply plugin: 'java'
使用 JDK7 可以很好地构建完整的应用程序。但是,当我针对 JDK8 构建此应用程序时,在构建期间 Java 模块中出现异常。

Dex: Error converting bytecode to dex: Cause: com.android.dx.cf.iface.ParseException: bad class file magic (cafebabe) or version (0034.0000) 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:704) at com.android.dx.command.dexer.Main.processFileBytes(Main.java:673) at com.android.dx.command.dexer.Main.access$300(Main.java:83) at com.android.dx.command.dexer.Main$1.processFileBytes(Main.java:602) 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:632) at com.android.dx.command.dexer.Main.processAllFiles(Main.java:510) at com.android.dx.command.dexer.Main.runMonoDex(Main.java:280) at com.android.dx.command.dexer.Main.run(Main.java:246) at com.android.dx.command.dexer.Main.main(Main.java:215) at com.android.dx.command.Main.main(Main.java:106)

...while parsing com/java/Module.class



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

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

最佳答案

我在 build.gradle 文件中添加了这一行,并使用 JDK8 成功构建
sourceCompatibility = 1.7

关于java - 使用 JDK8 构建时出现 ParseException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41951156/

相关文章:

android - 需要命令行来使用 adb 启动 Web 浏览器

java - 未找到 ID 为 'sonar' 的插件?

java - 使用 swing 菜单和 menuitem 对象调用类

java - 从另一个类返回一个值到Android中的Activity

android - libGDX 设计模式

android - 不能不能解决符号设计

Android Gradle 构建变体 - Google 上传无法识别 applicationId

java - SSL/TLS 连接重置 - 如何强制 Java 客户端使用 SNI?

java - 在 Linux 上无需指定数据库名称即可通过 JDBC 连接到 MonetDB

java - 如何使用默认构造函数伪造 InitialContext