Compose项目接入Firebase时Kotlin版本不兼容问题求助
解决Compose接入Firebase时Kotlin版本不兼容的Gradle构建问题
问题根源
- 根目录Gradle配置中,
buildscript块的kotlin-gradle-plugin版本(1.5.1)与plugins块的org.jetbrains.kotlin.android版本(1.5.21)不一致,引发构建逻辑混乱 - Firebase BOM 31.0.3依赖的部分库采用Kotlin 1.7.x编译,与项目当前的Kotlin 1.5.x版本二进制元数据不兼容
org.jetbrains.kotlin.android插件ID在1.5.1版本尚未启用,因此修改为该版本会触发插件找不到的错误
解决方案
步骤1:统一并升级Kotlin插件版本
修改根目录build.gradle,将所有Kotlin相关插件版本统一为1.7.10(适配报错中的元数据版本1.7.1,且该版本的org.jetbrains.kotlin.android插件存在),同时升级Gradle插件以适配新版本Kotlin:
buildscript { ext { compose_version = '1.3.0' // 与Kotlin 1.7.10兼容的Compose版本 } repositories { google() mavenCentral() } dependencies{ classpath "com.android.tools.build:gradle:7.4.2" classpath 'com.google.gms:google-services:4.3.14' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.7.10" } } plugins { id 'com.android.application' version '7.4.2' apply false id 'com.android.library' version '7.4.2' apply false id 'org.jetbrains.kotlin.android' version '1.7.10' apply false } task clean(type: Delete) { delete rootProject.buildDir }
步骤2:确认模块配置兼容性
模块build.gradle无需修改Kotlin插件版本(自动继承根目录配置),确保composeOptions使用根目录定义的兼容Compose版本:
composeOptions { kotlinCompilerExtensionVersion compose_version }
步骤3:清理缓存并同步项目
- 执行
File -> Invalidate Caches...,选择Invalidate and Restart - 重新同步Gradle项目
备选方案(不升级Compose版本)
若需保留Compose 1.0.1,可将Kotlin版本降至1.5.31(Compose 1.0.1的官方兼容版本),同时降级Firebase BOM到适配Kotlin 1.5.x的版本(如29.0.0):
- 根目录
build.gradle中Kotlin插件版本改为1.5.31,Gradle插件版本保持7.0.4 - 模块
build.gradle中Firebase BOM改为com.google.firebase:firebase-bom:29.0.0
内容的提问来源于stack exchange,提问作者AdamPI
相关产品推荐
相关产品推荐

