Проблема с пространством в многоплатформенной среде: AppDatabaseConstructor не имеет соответствующего ожидаемого объявлеAndroid

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 Проблема с пространством в многоплатформенной среде: AppDatabaseConstructor не имеет соответствующего ожидаемого объявле

Сообщение Anonymous »

Не могу использовать комнату в настольном проекте KMP после выполнения этого руководства: https://funkymuse.dev/posts/kmp-room-setup/
Выдает эту ошибку при компиляции: AppDatabaseConstructor.kt:5:22 'фактический объект AppDatabaseConstructor : RoomDatabaseConstructor' не имеет соответствующего ожидаемого объявления
this это мой файл градиента:
plugins {
alias(libs.plugins.kotlinMultiplatform)
alias(libs.plugins.composeMultiplatform)
alias(libs.plugins.composeCompiler)

// Room
alias(libs.plugins.androidx.room)
alias(libs.plugins.ksp)
}

kotlin {
jvm("desktop")

sourceSets {
val desktopMain by getting

commonMain.dependencies {
implementation(compose.runtime)
implementation(compose.foundation)
implementation(compose.material)
implementation(compose.ui)
implementation(compose.components.resources)
implementation(compose.components.uiToolingPreview)
implementation(libs.androidx.lifecycle.viewmodel)
implementation(libs.androidx.lifecycle.runtime.compose)

//koin
implementation(project.dependencies.platform(libs.koin.bom))
implementation(libs.koin.core)
implementation(libs.koin.compose)
implementation(libs.koin.compose.viewmodel.navigation)

//retrofit
implementation("com.squareup.retrofit2:retrofit:2.11.0")
implementation("com.squareup.retrofit2:converter-jackson:2.11.0")
implementation("com.fasterxml.jackson.module:jackson-module-kotlin:2.18.2")
implementation("com.fasterxml.jackson.dataformat:jackson-dataformat-xml:2.13.0")

//room
implementation(libs.androidx.sqlite.bundled)
implementation(libs.androidx.room.runtime)
}
desktopMain.dependencies {
implementation(compose.desktop.currentOs)
implementation(libs.kotlinx.coroutines.swing)
}
}
}

dependencies {
add("kspDesktop", libs.androidx.room.compiler)
}

room {
schemaDirectory("$projectDir/schemas")
}

compose.desktop {
application {
mainClass = "com.package.MainKt"

nativeDistributions {
targetFormats(TargetFormat.Dmg, TargetFormat.Msi, TargetFormat.Deb)
packageName = "com.package"
packageVersion = "1.0.0"
}
}
}

Вот как я создаю базу данных:
@Database(entities = [BusStopEntity::class], version = 1)
@ConstructedBy(AppDatabaseConstructor::class)
abstract class BusStopsDatabase : RoomDatabase() {
abstract fun busStopDao(): BusStopsDao
}

// The Room compiler generates the `actual` implementations.
@Suppress("NO_ACTUAL_FOR_EXPECT")
expect object AppDatabaseConstructor : RoomDatabaseConstructor {
override fun initialize(): BusStopsDatabase
}


Подробнее здесь: https://stackoverflow.com/questions/792 ... ng-expecte
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Android»