在 Android Studio 中创建一个空项目并包含一个纯 java 模块后,该模块可以自行编译和完美运行,我在该模块中的每个类上都收到以下错误:
Error:PARSE ERROR: Error:unsupported class file version 52.0
我尝试使用嵌入式 JDK 和我系统上的 JDK 8 (1.8.0_91) 运行项目,结果是一样的。
请注意,我没有将模块包含为 .jar
库,它是使用以下指令导入的源代码:
include ':app', ':my-module'
project(':my-module').projectDir = new File(settingsDir, '../my-module-java')
最佳答案
知道了,错误是因为我没有在模块本身中指定兼容性选项。这意味着如果您已安装并使用 JDK 8,并且您的 android 项目使用 Java 1.7(默认情况下在 Android SDK 23 及更低版本中)并且它包含一个没有任何使用 Java 1.7 规范的模块,那么该模块将被编译为JDK 8 使用 Java 1.8 语法并且会出现错误,因为它们不兼容并且使用 Java 1.7 的编译器无法解析针对 Java 1.8 且版本为 52 的类文件。
build.gradle - 此构建文件用于模块级别
apply plugin: 'java'
buildscript {
tasks.withType(JavaCompile) {
sourceCompatibility = JavaVersion.VERSION_1_7
targetCompatibility = JavaVersion.VERSION_1_7
}
}
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
// Your libraries here
}
关于java - 将模块包含到项目后得到 "unsupported class file version 52.0",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37902840/