KMP项目集成Room 2.7.0-alpha01时Android端构建失败求助
KMP集成Room数据库Android构建失败问题及修复方案
我新建了一个Kotlin Multi Platform(KMP)示例项目,计划集成Room数据库。Room 2.7.0-alpha01版本已支持KMP,我按照官方文档添加了所有依赖,但Android应用无法构建,iOS端运行正常。
原配置信息
libs.versions.toml配置:
[libraries] room = { module = "androidx:room", version.ref = "roomVersion" } androidx-room-compiler = { module = "androidx.room:room-compiler", version.ref = "roomVersion" } [plugins] room = { id = "androidx.room", version.ref = "roomVersion" }
build.gradle.kts配置:
plugins{ alias(libs.plugins.room) } androidMain.dependencies { implementation(libs.compose.ui.tooling.preview) implementation(libs.androidx.activity.compose) implementation(libs.room) implementation(libs.androidx.room.compiler) }
错误情况
点击运行composeApp配置时,出现如下错误:
更新[已修复]
我参考了KMP+Room的官方Fruit示例项目,修正了Room依赖配置后问题解决。感谢@ianhanniballake的解答。
修复后的libs.versions.toml配置:
androidx-room-compiler = { group = "androidx.room", name = "room-compiler", version.ref = "roomVersion" } androidx-room-runtime = { group = "androidx.room", name = "room-runtime", version.ref = "roomVersion" } androidx-room-paging = { group = "androidx.room", name = "room-paging", version.ref = "roomVersion" }
修复后的composeApp模块build.gradle.kts配置:
plugins { ...... alias(libs.plugins.room) } room { schemaDirectory("$projectDir/schemas") } sourceSets { androidMain.dependencies { ...... implementation(libs.androidx.room.paging) implementation(libs.androidx.room.compiler) } commonMain.dependencies { implementation(libs.androidx.room.runtime) ...... } } android { room { schemaDirectory("$projectDir/schemas") } .... }
内容的提问来源于stack exchange,提问作者Mustafa Berk
相关产品推荐
相关产品推荐

