我升级到 Android Studio (2020.3.1) Canary 15 并开始出现编译器错误。
产生的错误是
<块引用>e:Compose Compiler 的此版本 (1.0.0-alpha13) 需要 Kotlin 1.4.30 版,但您似乎在使用 Kotlin 1.4.32 版,该版本不兼容。请修正您的配置(或 suppressKotlinVersionCompatibilityCheck
,但不要说我没有警告您!)。
应用配置版本为:
ext {
gms_version = "4.3.5"
agp_version = '7.0.0-alpha15'
ktlint_version = "10.0.0"
kotlin_version = "1.4.32"
detekt_version = "1.16.0"
versions_version = "0.36.0"
dagger_version = "2.34.1-beta"
crashlytics_gradle_version = "2.5.2"
sceneform_version = "1.17.1"
nav_version = "2.3.5"
compose_version = "1.0.0-beta05"
}
dependencies {
...
// Compose dependencies
implementation composeDependencies.composeUi
implementation composeDependencies.composeTooling
implementation composeDependencies.composeFoundation
implementation composeDependencies.composeMaterial
implementation composeDependencies.composeViewModel
implementation networkDependencies.retrofit
}
我看过一个类似的问题,讨论这个 this issue,但它似乎与我的情况无关,因为我没有使用 Compose 活动。
答案 0 :(得分:3)
我遇到了同样的问题,我所做的是在 build.gradle 中进行了更改:
"classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.5"
到
"classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.4.30"
答案 1 :(得分:2)
在 buildscript > dependencies
中:
更改classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.5"
至classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.4.30"
我把 1.4.30 因为在我的情况下在 1.4.32 上不起作用。
本教程中的信息链接:Layouts in Jetpack Compose
答案 2 :(得分:1)
你可以降级到 1.4.30 或者你可以添加一个编译器选项来忽略警告
kotlinOptions {
val options = listOf(
"-P",
"plugin:androidx.compose.compiler.plugins.kotlin:suppressKotlinVersionCompatibilityCheck=true"
)
freeCompilerArgs = freeCompilerArgs + options
}