2

我有一个 Gradle 项目,它由一个 Android 库模块和一个普通的旧 Java 模块组成。(Android 库模块依赖于普通的 Java 模块。)

build.gradleAndroid 库模块的文件中,我有这个:

android {
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
}

build.gradle普通的旧 Java 模块的文件中,我有这个:

compileJava {
    sourceCompatibility = "1.8"
    targetCompatibility = "1.8"
}

当我点击 IntelliJ IDEA 15 中的 Gradle 刷新按钮时,Android 模块的语言级别设置为 Java 8(如我所料),但 Java 模块的语言级别设置为 Java 1.6。为什么会这样,IntelliJ 有没有办法在刷新时将 Java 模块的语言级别设置为 Java 8?

4

1 回答 1

2

只有JavaVersion.VERSION_1_8在使用新的Jack编译器或Retrolambda插件时才能使用Gradle.

所以你应该使用:

compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_7
    targetCompatibility JavaVersion.VERSION_1_7
}

就 Intellij/Android Studio 语言设置而言:

  1. 文件 -> 项目结构:

在此处输入图像描述

  1. 您应该相应地设置项目语言设置:

在此处输入图像描述

于 2016-04-18T14:29:08.290 回答