繁体   English   中英

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

[英]How to set source version of Java library in Android Studio project

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

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

现在我想让Android Studio实现Java模块也是Java 8.我尝试过(在Gradle脚本的根目录下,在apply plugin 'java'

  1. sourceCompatibility = 1.8但不起作用。 Gradle正确编译,但Android Studio会显示警告(“Assignment not used”)并假定为Java 6。

  2. sourceCompatibility 1.8无法编译。

如何在不诉诸“设置源版本”快速修复的情况下让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突出显示错误

在你的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
}

看来(感谢@Anand Singh)Android Studio还没有处理这个,所以你需要应用快速修复。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM