集成Smile ID SDK时Gradle构建报错:无法解析kotlin-compose-compiler-plugin-embeddable:1.8.22
解决Flutter集成Smile ID SDK时的Gradle构建依赖缺失问题
构建失败的核心原因是找不到org.jetbrains.kotlin:kotlin-compose-compiler-plugin-embeddable:1.8.22,本质是Kotlin版本与Compose编译器版本不匹配,或者仓库配置未覆盖该依赖的存储位置。以下是具体解决步骤:
1. 统一Kotlin与Compose编译器的匹配版本
Kotlin和Compose编译器版本必须严格对应,Kotlin 1.8.22对应的Compose编译器版本为1.4.3。修改项目根目录的Project级build.gradle:
buildscript { ext { kotlin_version = '1.8.22' compose_compiler_version = '1.4.3' } dependencies { classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" classpath "com.android.tools.build:gradle:7.4.2" // 该Gradle版本与Kotlin 1.8.22兼容 } }
如果项目使用settings.gradle管理插件,在pluginManagement块中指定版本:
pluginManagement { plugins { id "org.jetbrains.kotlin.android" version "1.8.22" id "com.android.application" version "7.4.2" } }
2. 补充Kotlin官方仓库配置
kotlin-compose-compiler-plugin-embeddable依赖存储在Kotlin官方仓库中,需确保项目仓库配置包含该地址。在**Project级build.gradle**的repositories块中添加:
repositories { google() mavenCentral() maven { url "https://maven.pkg.jetbrains.space/public/p/kotlinx-html/maven" } }
若使用settings.gradle的dependencyResolutionManagement,则修改为:
dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { google() mavenCentral() maven { url "https://maven.pkg.jetbrains.space/public/p/kotlinx-html/maven" } } }
3. 强制统一Compose编译器版本(解决依赖冲突)
若Smile ID SDK依赖的Compose版本与项目配置冲突,在**App模块的build.gradle**中添加强制依赖规则:
configurations.all { resolutionStrategy.force "org.jetbrains.kotlin:kotlin-compose-compiler-plugin-embeddable:${compose_compiler_version}" }
4. 清理缓存并重新构建
执行以下命令清理缓存,确保依赖重新拉取:
flutter clean cd android && ./gradlew clean build --refresh-dependencies cd .. && flutter pub get
内容的提问来源于stack exchange,提问作者sammie king
相关产品推荐
相关产品推荐

