如何修复Compose Compiler与Kotlin版本不兼容的编译运行错误?
解决Compose Compiler与Kotlin版本不兼容的编译错误
核心问题
你碰到的是Compose Compiler和Kotlin的强绑定限制:Compose Compiler 1.1.1只兼容Kotlin 1.6.10,而当前项目用的Kotlin 1.7.21不在官方兼容列表里。之前降级没解决,大概率是配置没改全,或者依赖冲突导致旧版本没真正生效。
修复方案
方案1:匹配兼容版本(推荐,无风险)
直接升级Compose Compiler到适配Kotlin 1.7.21的版本,比降级Kotlin更合理:
- 打开项目根目录的
build.gradle(Project级),保持Kotlin版本1.7.21,修改Compose Compiler对应版本:// Project级build.gradle plugins { id 'com.android.application' version '7.4.2' apply false id 'org.jetbrains.kotlin.android' version '1.7.21' apply false } - 打开App模块的
build.gradle(Module级),更新Compose Compiler和核心依赖版本:// Module级build.gradle android { buildFeatures { compose true } composeOptions { kotlinCompilerExtensionVersion '1.3.2' // 适配Kotlin 1.7.21的稳定版 } } dependencies { implementation 'androidx.compose.ui:ui:1.3.3' implementation 'androidx.compose.material:material:1.3.1' implementation 'androidx.compose.ui:ui-tooling-preview:1.3.3' debugImplementation 'androidx.compose.ui:ui-tooling:1.3.3' } - 同步项目后,点击菜单栏
Build->Clean Project,再Rebuild Project
方案2:强制忽略版本检查(临时应急,不推荐)
如果暂时不想升级Compose,可添加参数跳过校验,但可能出现未知编译/运行问题:
- 在Module级
build.gradle中添加配置:android { composeOptions { kotlinCompilerExtensionVersion '1.1.1' suppressKotlinVersionCompatibilityCheck true // 强制跳过版本检查 } } - 同步后尝试构建,若出现异常立即回退到方案1
方案3:排查降级未生效原因
如果坚持降级Kotlin到1.6.10,检查以下几点:
- 确认Project级
build.gradle中所有Kotlin相关插件(比如org.jetbrains.kotlin.android、kotlin-kapt)的版本都改为1.6.10 - 检查Module级
build.gradle是否有硬编码的高版本Kotlin依赖,比如implementation "org.jetbrains.kotlin:kotlin-stdlib:1.7.21",需改为1.6.10 - 执行
File->Invalidate Caches...-> 勾选Invalidate and Restart,清除IDE缓存后重新同步
额外提醒
- 优先用Compose BOM管理依赖版本,避免手动匹配出错:在Module级
build.gradle的dependencies中添加implementation platform('androidx.compose:compose-bom:2023.01.00') // 后续引入Compose依赖无需写版本号 implementation 'androidx.compose.ui:ui' implementation 'androidx.compose.material:material' - 修改版本后一定要先清理构建缓存再重建,避免旧缓存导致版本不匹配
内容的提问来源于stack exchange,提问作者Peculiaruc
相关产品推荐
相关产品推荐

