【发布时间】:2015-08-07 05:36:54
【问题描述】:
我将一个 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' 之后:
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
}
【问题讨论】:
标签: java android android-studio gradle java-8