java – 将模块包含在项目中后,得到“不支持的类文件52.0”

在Android Studio中创建一个空项目,并且包含一个纯Java模块,它自己编译和完美地工作,我在该模块中的每个类上都会收到以下错误:

错误:PARSE ERROR:错误:不支持的类文件版本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 – 将模块包含在项目中后,得到“不支持的类文件52.0” - 代码日志