我有一个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脚本的根目录中:
sourceCompatibility = 1.8
但不起作用。 Gradle正确编译,但Android Studio显示警告(“未使用的分配”)并假设Java 6。
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
}
答案 0 :(得分:0)
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尚未处理此问题,因此您需要应用快速修复。