如何在Android Studio项目中设置Java库的源版本

时间:2015-08-07 05:36:54

标签: java android android-studio gradle java-8

我有一个Android项目分为纯Java 库和Android应用程序。我正在使用Gradle Retrolambda所以我可以编写Java 8代码。

Android Studio 1.3正确识别我已设置为android.compileOptions.sourceCompatibility的Android模块中的JavaVersion.VERSION_1_8

现在我想让Android Studio实现Java模块也是Java 8.我已经尝试过了(在apply plugin 'java'之后的Gradle脚本的根目录中:

  1. sourceCompatibility = 1.8但不起作用。 Gradle正确编译,但Android Studio显示警告(“未使用的分配”)并假设Java 6。

  2. sourceCompatibility 1.8无法编译。

  3. 如何在不借助“设置源版本”快速修复的情况下让Android Studio识别出来?或者它现在没有实现?

    修改

    为了澄清,整个项目使用./gradlew assembleDebug进行编译。问题在于Android Studio源代码突出显示。

    我的Java模块build.gradle如下:

    buildscript {
        repositories {
            mavenCentral()
        }
    
        dependencies {
            classpath 'me.tatarka:gradle-retrolambda:3.2.0'
        }
    }
    
    repositories {
        jcenter()
        mavenCentral()
    }
    
    apply plugin: 'java'
    apply plugin: 'me.tatarka.retrolambda'
    
    sourceCompatibility = JavaVersion.VERSION_1_8
    
    dependencies {
        compile 'io.reactivex:rxjava:1.0.12'
        compile 'io.reactivex:rxjava-string:1.0.0'
    
        compile 'joda-time:joda-time:2.8.1'
    
        testCompile 'junit:junit:4.12'
    }
    
    retrolambda {
        jdk System.getenv("JAVA_HOME")
        defaultMethods true
        incremental false
    }
    

    以下是Android Studio给我的内容: Android Studio highlighting error

2 个答案:

答案 0 :(得分:0)

你的java模块build.gradle中的

编写如下代码:

    buildscript {
    repositories {
        mavenLocal()
        mavenCentral()
    }

    dependencies {
        classpath "me.tatarka:gradle-retrolambda:3.2.0"
    }
}

apply plugin: 'java'
apply plugin: 'me.tatarka.retrolambda'

repositories {
    mavenCentral()
}

dependencies {


}

retrolambda {
    jdk System.getenv("JAVA8_HOME")
    defaultMethods true
    incremental false
}

答案 1 :(得分:0)

似乎(感谢@Anand Singh)Android Studio尚未处理此问题,因此您需要应用快速修复。