我有一个Android项目,分为一个纯Java库和一个Android应用程序。 我正在使用Gradle Retrolambda,以便编写Java 8代码。
Android Studio 1.3正确识别了我在Android模块中设置的
现在我想让Android Studio意识到Java模块也是Java 8。 我尝试过(在Gradle脚本的根目录,在
我的Java模块build.gradle如下:
Android Studio 1.3正确识别了我在Android模块中设置的
android.compileOptions.sourceCompatibility
为JavaVersion.VERSION_1_8
。现在我想让Android Studio意识到Java模块也是Java 8。 我尝试过(在Gradle脚本的根目录,在
apply plugin 'java'
之后):
sourceCompatibility = 1.8
,但不起作用。 Gradle正确编译,但Android Studio显示警告(“未使用赋值”),并假定为Java 6。sourceCompatibility 1.8
无法编译。
./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
}
sourceCompatibility = JavaVersion.VERSION_1_8
。其次,在Java模块中忽略该错误。我也遇到了同样的问题,但不用担心。将sourceCompatibility = JavaVersion.VERSION_1_8
添加到您的主应用程序build.gradle文件中。在进行这些更改后,请执行清理和重建操作。 - Anand Singh