Kotlin Multiplatform出现Unresolved reference等引用问题求助
解决Ktor+SQLDelight多平台项目的未解析引用问题
核心排查方向(针对Gradle配置)
验证Kotlin序列化插件与依赖一致性
确保项目根或模块级build.gradle.kts中,序列化插件版本与Kotlin版本完全匹配:plugins { kotlin("multiplatform") version "1.9.20" kotlin("plugin.serialization") version "1.9.20" }同时在commonMain的依赖中添加序列化核心库:
sourceSets { val commonMain by getting { dependencies { implementation("org.jetbrains.kotlinx:kotlinx-serialization-core:1.6.0") } } }确认实体类目录的SourceSet配置
检查模块build.gradle.kts,确保实体类所在目录被正确纳入对应SourceSet:sourceSets { val commonMain by getting { kotlin.srcDir("src/commonMain/kotlin") // 若实体类在子目录,无需额外配置,只要路径符合包结构即可 } }检查SQLDelight代码生成配置
若RocketLaunch是SQLDelight生成类,需确保插件配置正确且生成目录被IDE识别:plugins { id("app.cash.sqldelight") version "2.0.1" } sqldelight { databases { create("AppDatabase") { packageName = "com.yourproject.db" } } }生成代码默认在
build/generated/sqldelight/,需确保IDE未排除该目录(可在Settings -> Build -> Compiler -> Annotation Processors中检查)。深度清理构建缓存
除Invalidate and Restart外,执行以下操作:- 运行Gradle的
clean任务,再执行build - 删除项目根目录的
.gradle文件夹,重新同步Gradle
- 运行Gradle的
基础校验点
- 核对实体类包名与引用处的import语句,确保无拼写或路径错误
- 确认
@Serializable注解导入的是kotlinx.serialization.Serializable,而非其他包下的同名注解
内容的提问来源于stack exchange,提问作者chunzhi23
相关产品推荐
相关产品推荐

