我在Android项目中有一个纯Java模块。我的项目默认使用JDK 8编译,但我希望我的Java模块使用JDK 7进行编译。如何为我的纯java模块指定1.7的编译级别?请记住,我不想覆盖1.8的项目级编译级别。
答案 0 :(得分:2)
您可以通过两种方式执行此操作:
1-将此块添加到您的 app build.gradle
android{
....
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}
2-使用android studio添加此块:
更新:
注意:如果您使用kotlin作为Gradle语言(kotlin dsl),则应采用以下方式:
android{
....
compileOptions {
setSourceCompatibility(JavaVersion.VERSION_1_8)
setTargetCompatibility(JavaVersion.VERSION_1_8)
}
}
答案 1 :(得分:1)
我找到了答案:
//noinspection GroovyUnusedAssignment
sourceCompatibility = 1.7
//noinspection GroovyUnusedAssignment
targetCompatibility = 1.7
您可以指定源和目标兼容级别。在编译Android和Java模块的混合时经常需要这样做。
答案 2 :(得分:0)
两种方式
在您的HOME_DIRECTORY集gradle.properties
中org.gradle.java.home=/path_to_jdk_directory
在gradle.build
compileJava.options.fork = true
compileJava.options.forkOptions.executable = /path_to_javac
答案 3 :(得分:0)
在Android Studio中设置java库模块的目标/源兼容级别可以将其添加到java库模块的build.gradle中:
tasks.withType(JavaCompile) {
sourceCompatibility = '1.7'
targetCompatibility = '1.7'
}
答案 4 :(得分:-1)
您可以在app/build.gradle
中执行以下操作:
android {
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_7
targetCompatibility JavaVersion.VERSION_1_7
}
}