You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Compose Compiler 1.1.1构建报Kotlin版本不匹配如何正确配置

核心原因

你遇到这个问题本质是把三个完全独立的Kotlin版本概念搞混了:

  • IDE内置的Kotlin插件版本:就是你在Kotlin REPL里看到的1.7.0-RC2,这个版本只服务于IDE本身的代码提示、语法检查、REPL运行这类IDE功能,完全不参与Gradle构建流程,和你项目构建用的Kotlin版本没有强制绑定关系,所以REPL显示的版本和构建报错的版本不一致是正常现象。
  • Gradle构建使用的Kotlin版本:这个版本完全由项目的Gradle配置文件决定,和你IDE装了什么版本的Kotlin插件没有关系。报错里提到的1.5.31就是构建流程实际拉取到的Kotlin版本——你虽然在根目录build.gradle的ext块里写了kotlin_version = '1.6.10',但没有在所有需要声明Kotlin版本的配置位置正确引用这个变量,之前Compose 1.0.5默认适配的就是Kotlin 1.5.31,旧的硬编码配置没有改全,才会导致构建时还是用旧版本。
  • Compose编译器兼容的Kotlin版本:Compose编译器对Kotlin版本有严格的一一对应要求,1.1.1版本的Compose编译器只能和Kotlin 1.6.10配合使用,版本不匹配就会直接抛你看到的这个报错,suppressKotlinVersionCompatibilityCheck只是跳过检查逻辑,不会解决实际的API不兼容问题,所以你开了这个参数还是会报其他构建错误是必然的。
修复步骤

按顺序检查配置,改完就能解决问题:

  • 检查根目录build.gradle的buildscript依赖块,确保Kotlin Gradle插件正确引用了你定义的版本变量,不要硬编码旧版本号,参考配置如下:
buildscript {
    ext {
        compose_version = '1.1.1'
        kotlin_version = '1.6.10'
    }
    repositories {
        google()
        mavenCentral()
    }
    dependencies {
        // 重点:这里必须引用上面定义的kotlin_version变量,不能写死1.5.31
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
        // Compose 1.1.1要求AGP版本至少7.0,建议用7.1.x稳定版
        classpath 'com.android.tools.build:gradle:7.1.3'
    }
}
  • 检查所有启用了Compose的模块(通常是app模块)下的build.gradle文件,重点确认两处配置:
    1. 不要在模块的plugins块里硬编码Kotlin版本,确保和根目录引用的Kotlin Gradle插件版本一致
    2. composeOptions块里的编译器版本要和你使用的Compose版本对齐,不要硬编码旧版本,参考配置:
    android {
        // 省略compileSdk、defaultConfig等常规配置
        buildFeatures {
            compose true
        }
        composeOptions {
            kotlinCompilerExtensionVersion compose_version
            // 不要额外配置kotlinCompilerVersion参数,避免版本覆盖
        }
    }
    
    dependencies {
        // 所有Compose相关依赖统一引用compose_version变量,不要混着用1.0.5的旧版本
        implementation "androidx.compose.ui:ui:$compose_version"
        implementation "androidx.compose.material:material:$compose_version"
        implementation "androidx.compose.ui:ui-tooling-preview:$compose_version"
        debugImplementation "androidx.compose.ui:ui-tooling:$compose_version"
    }
    
  • 排查版本硬编码残留:打开Android Studio底部的Terminal,Windows系统执行gradlew.bat dependencies、Mac/Linux系统执行./gradlew dependencies,在输出的依赖树里搜索kotlin-gradle-plugin,确认没有其他构建脚本、第三方插件强制指定了1.5.31的Kotlin版本,如果有就把对应的硬编码版本改成你定义的kotlin_version变量。
  • 清理缓存重新构建:配置全部改完后,点击菜单栏File > Invalidate Caches...,勾选所有选项重启IDE,之后依次执行Build > Clean Project、Build > Rebuild Project即可正常构建。

额外提一句:你现在装的Kotlin Early Access预览版插件只会影响IDE的代码提示,不会影响构建,如果不需要测试Kotlin 1.7的新特性,建议把Kotlin插件切回1.6.10对应的稳定版,避免出现IDE提示和实际构建行为不一致的问题。

内容的提问来源于stack exchange,提问作者blu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.01 21:01:02