use*_*924 19 android android-studio android-gradle-plugin android-studio-arctic-fox
Android Studio内置的JRE是11版本。Artic Fox 允许使用 Java 11 来编译项目:
compileOptions {
sourceCompatibility JavaVersion.VERSION_11
targetCompatibility JavaVersion.VERSION_11
}
Run Code Online (Sandbox Code Playgroud)
但我们也有 Kotlin 选项
kotlinOptions {
jvmTarget = JavaVersion.VERSION_1_8
}
Run Code Online (Sandbox Code Playgroud)
我们现在应该设置什么 JVM 目标版本?
jvmTarget = JavaVersion.VERSION_1_8
或者jvmTarget = JavaVersion.VERSION_11
Kotlin 库使用 JDK 8:
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version"
kotlin-stdlib-jdk11
尚不存在
接下来的所有配置都适用于 Artic Fox:
#1
compileOptions {
sourceCompatibility JavaVersion.VERSION_11
targetCompatibility JavaVersion.VERSION_11
}
kotlinOptions {
jvmTarget = JavaVersion.VERSION_11
}
Run Code Online (Sandbox Code Playgroud)
#2
compileOptions {
sourceCompatibility JavaVersion.VERSION_11
targetCompatibility JavaVersion.VERSION_11
}
kotlinOptions {
jvmTarget = JavaVersion.VERSION_1_8
}
Run Code Online (Sandbox Code Playgroud)
#3
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
kotlinOptions {
jvmTarget = JavaVersion.VERSION_1_8
}
Run Code Online (Sandbox Code Playgroud)
但我们应该选择什么呢?
小智 18
如果您使用的是 Android Studio Artic Fox 2020.3.1,则第一个选择是首选选项。
compileOptions {
sourceCompatibility JavaVersion.VERSION_11
targetCompatibility JavaVersion.VERSION_11
}
kotlinOptions {
jvmTarget = JavaVersion.VERSION_11
}
Run Code Online (Sandbox Code Playgroud)
现在来到kotlin-stdlib,可以使用jdk8版本。
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version"
Run Code Online (Sandbox Code Playgroud)
kotlin-stdlib-jdk8 库与 JDK 11 SDK 完全兼容。
或者,对于仅限 Kotlin 的项目,您也可以忽略 kotlin-stdlib-jdk8 依赖项,因为 Gradle 插件将在编译期间自动添加必要的库源。
归档时间: |
|
查看次数: |
7027 次 |
最近记录: |