Android构建失败:Kotlin 1.9.0与Compose编译器扩展1.4.3版本不兼容
解决Jetpack Compose与Kotlin版本兼容性构建错误
问题分析
错误提示明确指出:Compose Compiler 1.4.3仅兼容Kotlin 1.8.10,但构建过程中实际使用了Kotlin 1.9.0。尽管你在项目级Gradle中指定了Kotlin 1.8.10,大概率是第三方依赖间接引入了更高版本的Kotlin插件,覆盖了你的配置,导致版本冲突。
解决方案
方案1:强制锁定Kotlin版本为1.8.10
在项目级build.gradle中添加版本锁定策略,确保所有依赖使用指定的Kotlin版本:
plugins { id 'com.android.application' version '8.1.2' apply false id 'com.android.library' version '8.1.2' apply false id 'org.jetbrains.kotlin.android' version '1.8.10' apply false } allprojects { configurations.all { resolutionStrategy { // 强制锁定Kotlin核心库和Gradle插件版本 force "org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.10" force "org.jetbrains.kotlin:kotlin-gradle-plugin:1.8.10" } } }
执行./gradlew clean清理构建缓存,再重新构建项目。
方案2:升级Compose Compiler到兼容Kotlin 1.9.0的版本
如果希望保留Kotlin 1.9.0,可将Compose Compiler升级到兼容版本(Kotlin 1.9.0对应Compose Compiler 1.5.0及以上):
- 修改app级
build.gradle中的composeOptions:
composeOptions { kotlinCompilerExtensionVersion = "1.5.0" }
- 建议使用Compose BOM统一管理依赖版本,确保所有Compose库版本匹配:
dependencies { // 引入Compose BOM implementation platform('androidx.compose:compose-bom:2023.08.00') // 其他Compose依赖无需指定版本 implementation 'androidx.compose.ui:ui' implementation 'androidx.compose.material3:material3' // ... }
- 执行
./gradlew clean并重启Android Studio清除缓存后再构建。
方案3:检查并排除冲突依赖
使用Android Studio的依赖分析工具(File -> Project Structure -> Dependencies)或执行./gradlew app:dependencies命令,查找引入Kotlin 1.9.0的依赖,然后在对应依赖中添加排除规则:
implementation('第三方库坐标') { exclude group: 'org.jetbrains.kotlin', module: 'kotlin-stdlib' exclude group: 'org.jetbrains.kotlin', module: 'kotlin-gradle-plugin' }
内容的提问来源于stack exchange,提问作者burhanyaprak
相关产品推荐
相关产品推荐

