升级到 Android Studio (2020.3.1) Canary 15 导致 Compose 构建错误

Upgrading to Android Studio (2020.3.1) Canary 15 causes Compose build error

我升级到 Android Studio (2020.3.1) Canary 15 并开始出现编译错误。

产生的错误是

e: This version (1.0.0-alpha13) of the Compose Compiler requires Kotlin version 1.4.30 but you appear to be using Kotlin version 1.4.32 which is not known to be compatible. Please fix your configuration (or suppressKotlinVersionCompatibilityCheck but don't say I didn't warn you!).

应用配置版本为:

    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
    }

我看过一个讨论这个问题的类似问题 ,但它似乎与我的情况无关,因为我没有使用 Compose activity。

您可以降级到 1.4.30,也可以添加一个编译器选项来忽略警告

kotlinOptions {
    val options = listOf(
        "-P",
        "plugin:androidx.compose.compiler.plugins.kotlin:suppressKotlinVersionCompatibilityCheck=true"
    )
    freeCompilerArgs = freeCompilerArgs + options
}

我遇到了同样的问题,我所做的是更改 build.gradle:

"classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.5"

"classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.4.30"

Android 注意:

buildscript > dependencies中:

Change classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.5"

To classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.4.30"

我安装了 1.4.30,因为我的情况在 1.4.32 上不起作用。

Link 来自本教程中的信息:Layouts in Jetpack Compose

您可以在项目级模块和 Sync Gradle 项目下尝试此脚本。

buildscript {
    ext {
        //...
        kotlin_version = '1.4.30'
    }
    //...
    dependencies {
        //...
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
    }
}