Cannot access class 'androidx.room.RoomDatabase.Builder'. Check your module classpath for missing or conflicting dependencies

Cannot access class 'androidx.room.RoomDatabase.Builder'. Check your module classpath for missing or conflicting dependencies
android
Ethan Jackson

After updating the Kotlin Multiplatform version, I got the following error upon building the project for Android, but everything worked as before for iOS.

Cannot access class 'androidx.room.RoomDatabase.Builder'. Check your module classpath for missing or conflicting dependencies.

kotlin = "2.1.10" ksp = "2.1.10-1.0.29" sqlite = "2.5.1" room = "2.7.1" kotlinx-serialization-json = "1.8.0" # Room (DB) room-compiler = { module = "androidx.room:room-compiler", version.ref = "room" } room-runtime = { module = "androidx.room:room-runtime", version.ref = "room" } sqlite-bundled = { module = "androidx.sqlite:sqlite-bundled", version.ref = "sqlite" } kotlinx-serialization-json = { module = "org.jetbrains.kotlinx:kotlinx-serialization-json", version.ref = "kotlinx-serialization-json" } plugins { ... alias(libs.plugins.multiplatform.library) alias(libs.plugins.ksp) alias(libs.plugins.room) alias(libs.plugins.serialization) ... sourceSets { commonMain.dependencies { ... implementation(libs.room.runtime) implementation(libs.sqlite.bundled) implementation(libs.kotlinx.serialization.json) ...

Answer

The only change that you have to apply is the following:

implementation(libs.room.runtime) ---> api(libs.room.runtime)

Then libs.room.runtime will be accessible in any source sets.

Related Articles