如何在Kotlin Multiplatform的shared build.gradle中正确添加SQLDelight插件?
解决Kotlin Multiplatform项目添加SQLDelight插件时的
androidTarget未解析错误 问题根源
你使用的SQLDelight 1.5.5版本过于老旧,和Android Studio Hedgehog对应的Kotlin 1.9.x系列版本不兼容,导致Kotlin Multiplatform的DSL配置代码(比如androidTarget)无法被正确识别。
正确配置步骤
升级SQLDelight版本
更换为适配Kotlin 1.9+的最新稳定版,比如2.0.1版本(当前主流稳定兼容版本)。方式一:直接在build.gradle.kts中配置插件
在shared模块的build.gradle.kts的plugins块里,确保先加载Kotlin Multiplatform和Android Library插件,再添加SQLDelight插件:plugins { id("org.jetbrains.kotlin.multiplatform") id("com.android.library") id("com.squareup.sqldelight") version "2.0.1" }方式二:用libs.versions.toml统一管理版本
- 在项目根目录的
gradle/libs.versions.toml中添加版本和插件别名配置:[versions] sqldelight = "2.0.1" [plugins] sqldelight = { id = "com.squareup.sqldelight", version.ref = "sqldelight" } - 然后在shared模块的
build.gradle.kts中引用该别名:plugins { id("org.jetbrains.kotlin.multiplatform") id("com.android.library") alias(libs.plugins.sqldelight) }
- 在项目根目录的
补充SQLDelight基础配置
在shared模块的build.gradle.kts里添加SQLDelight的核心配置,比如指定数据库类名和schema目录:sqldelight { databases { create("AppDatabase") { packageName.set("com.yourpackage.db") } } }同步项目
点击Sync按钮等待Gradle同步完成,androidTarget的未解析错误即可消除。
内容的提问来源于stack exchange,提问作者Alexey Simchenko
相关产品推荐
相关产品推荐

