多模块项目配置Compose报IncompatibleComposeRuntimeVersionException如何解决
Compose版本不兼容报错排查方案
- 首先删除根目录
build.gradle中dependencies下的implementation "androidx.compose.compiler:compiler:1.0.3"配置
Compose Compiler是Kotlin编译器插件,不能通过implementation方式引入,该错误配置会引入额外的依赖冲突,直接导致版本校验失败。
多模块场景专属排查点
- 确认所有开启了Compose的子模块都统一配置了
composeOptions
仅在根目录配置composeOptions不会自动生效到所有子模块,每个配置了buildFeatures { compose true }的子模块都需要单独添加如下配置:
composeOptions { kotlinCompilerExtensionVersion '1.0.3' } kotlinOptions { jvmTarget = '1.8' }
- 全局强制锁定Compose依赖版本
在根目录build.gradle的allprojects配置块中添加全局版本锁定规则,避免第三方依赖传递引入低版本Compose Runtime:
allprojects { configurations.all { resolutionStrategy { force "androidx.compose.runtime:runtime:1.0.3" force "androidx.compose.compiler:compiler:1.0.3" } } }
通用版本匹配排查点
- 确认Kotlin版本与Compose Compiler版本匹配
1.0.3版本的Compose Compiler要求项目的Kotlin版本必须为1.5.31,版本不匹配会触发版本校验错误,你可以在根目录build.gradle中确认Kotlin插件版本是否符合要求。 - 检查未开启Compose的基础模块是否传递了Compose依赖
如果有底层公共模块通过api方式引入了Compose相关依赖,即使上层模块配置了正确版本,也可能出现版本覆盖问题,建议将公共模块中的Compose依赖改为implementation,或者统一走全局版本锁定。
缓存问题排查
如果以上配置都确认无误,执行以下操作清理缓存后重新构建:
- 执行
./gradlew clean清理构建产物 - 删除项目根目录下的
.gradle、.idea文件夹 - 重启Android Studio后重新执行构建
内容的提问来源于stack exchange,提问作者HyperX
相关产品推荐
相关产品推荐

