isCoreLibraryDesugaringEnabled 在 gradle kotlin dsl / kts 中不起作用
isCoreLibraryDesugaringEnabled not works in gradle kotlin dsl / kts
要在我们的 android-library 模块中启用脱糖,我们必须将其放入 build.gradle
:
android {
compileOptions {
coreLibraryDesugaringEnabled true
}
}
但是我们已经将所有的脚本都迁移到了gradle kotlin dsl,所以问题出现在build.gradle.kts
的三个方面:
android {
compileOptions {
isCoreLibraryDesugaringEnabled = true
}
}
configure<BaseExtension> {
compileOptions {
isCoreLibraryDesugaringEnabled = true
}
}
android {
if (this is com.android.build.api.dsl.LibraryExtension<*, *, *, *, *, *, *, *, *, *, *>) {
buildFeatures.viewBinding = true
}
}
每次抛出 Unresolved reference: isCoreLibraryDesugaringEnabled
.
有人知道如何解决这个问题吗?
当我切换到较新的 android 插件版本 (4.1.0-rc02) 时,理论上它可以工作。 IDE 说这是错误的语法,但它在编译期间有效。
if (this is com.android.build.api.dsl.LibraryExtension<*, *, *, *, *>) {
compileOptions.isCoreLibraryDesugaringEnabled = true
}
然而,这不是一个理想的解决方案
-----最终解决方案-----
解决方案类似于
由于 top-level build.gradle.kts
中缺少一行,所以无法正常工作:
classpath("com.android.tools.build:gradle:4.0.1")
如果您使用的是 Android Gradle 插件版本 >= 4.1,请使用:
isCoreLibraryDesugaringEnabled = true
对于之前的版本,使用:
coreLibraryDesugaringEnabled = true
要在我们的 android-library 模块中启用脱糖,我们必须将其放入 build.gradle
:
android {
compileOptions {
coreLibraryDesugaringEnabled true
}
}
但是我们已经将所有的脚本都迁移到了gradle kotlin dsl,所以问题出现在build.gradle.kts
的三个方面:
android {
compileOptions {
isCoreLibraryDesugaringEnabled = true
}
}
configure<BaseExtension> {
compileOptions {
isCoreLibraryDesugaringEnabled = true
}
}
android {
if (this is com.android.build.api.dsl.LibraryExtension<*, *, *, *, *, *, *, *, *, *, *>) {
buildFeatures.viewBinding = true
}
}
每次抛出 Unresolved reference: isCoreLibraryDesugaringEnabled
.
有人知道如何解决这个问题吗?
当我切换到较新的 android 插件版本 (4.1.0-rc02) 时,理论上它可以工作。 IDE 说这是错误的语法,但它在编译期间有效。
if (this is com.android.build.api.dsl.LibraryExtension<*, *, *, *, *>) {
compileOptions.isCoreLibraryDesugaringEnabled = true
}
然而,这不是一个理想的解决方案
-----最终解决方案-----
解决方案类似于
由于 top-level build.gradle.kts
中缺少一行,所以无法正常工作:
classpath("com.android.tools.build:gradle:4.0.1")
如果您使用的是 Android Gradle 插件版本 >= 4.1,请使用:
isCoreLibraryDesugaringEnabled = true
对于之前的版本,使用:
coreLibraryDesugaringEnabled = true