我正在尝试使用kotlin的1.4.21-2
版本,这是一个最近的版本,它有一个补丁,允许您在不需要构建挂起的情况下使用Compose + Kotlin序列化。不过,这一切都很好,但Compose编译器不知道这一点,并给出了以下错误(非常没有帮助):
e:这个版本(1.0.0-alpha09 09)的Compiler需要Kotlin版本1.4.21,但是您似乎使用的是Kotlin版本1.4.21-2,这并不是已知的兼容版本。请修复您的配置(或
suppressKotlinVersionCompatibilityCheck
,但不要说我没有警告您!)
我很想提供那个压制旗,但是我不知道该把它放在哪里.我花了大约一个小时试图把它放在我的gradle文件中的任意位置,例如在composeOptions
中,但是没有运气。我也试过所有我认识的google-fu,但似乎没有人真正使用过它,并且写了关于它的任何东西。
有什么办法摆脱困境吗?
发布于 2021-01-03 14:51:57
这是一个命令行参数。
参见此这里的kts文件中的示例
-P plugin:androidx.compose.compiler.plugins.kotlin:suppressKotlinVersionCompatibilityCheck=true
发布于 2021-02-04 17:44:38
我在留言方面也有同样的问题:
e: This version (1.0.0-alpha11) of the Compose Compiler requires Kotlin version 1.4.21-2 but you appear to be using Kotlin version 1.4.21 which is not known to be compatible. Please fix your configuration (or `suppressKotlinVersionCompatibilityCheck` but don't say I didn't warn you!).
添加编译器args解决了我的问题:
"-P", "plugin:androidx.compose.compiler.plugins.kotlin:suppressKotlinVersionCompatibilityCheck=true"
您可以将它添加到所有KotlinCompile
任务中。在应用程序级梯度中,它看起来如下所示:
tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile).configureEach {
kotlinOptions {
jvmTarget = "1.8"
freeCompilerArgs += [
"-Xallow-jvm-ir-dependencies",
"-P",
"plugin:androidx.compose.compiler.plugins.kotlin:suppressKotlinVersionCompatibilityCheck=true"
]
}
}
发布于 2021-04-24 23:45:07
如果你在使用KTS,
android {
...
kotlinOptions {
jvmTarget = "1.8"
useIR = true
freeCompilerArgs += listOf(
"-P",
"plugin:androidx.compose.compiler.plugins.kotlin:suppressKotlinVersionCompatibilityCheck=true"
)
...
}
https://stackoverflow.com/questions/65545018
复制相似问题