You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在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)无法被正确识别。

正确配置步骤

  1. 升级SQLDelight版本
    更换为适配Kotlin 1.9+的最新稳定版,比如2.0.1版本(当前主流稳定兼容版本)。

  2. 方式一:直接在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"
    }
    
  3. 方式二:用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)
      }
      
  4. 补充SQLDelight基础配置
    在shared模块的build.gradle.kts里添加SQLDelight的核心配置,比如指定数据库类名和schema目录:

    sqldelight {
        databases {
            create("AppDatabase") {
                packageName.set("com.yourpackage.db")
            }
        }
    }
    
  5. 同步项目
    点击Sync按钮等待Gradle同步完成,androidTarget的未解析错误即可消除。

内容的提问来源于stack exchange,提问作者Alexey Simchenko

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.03 19:12:10