I am using room in my kmp project in shared module...
# multiplatform
b
I am using room in my kmp project in shared module I can’t upgrade to agp 9 can i ? Has anyone done so successfully?
b
I've been using Room with agp 9.0 no problem
b
@blakelee you dont get compilation issues when you mention this block in your shared build file ?
v
Production ready configuration
Copy code
[versions]
facebookCore = "18.2.3"
appUpdate = "2.1.0"
embedRevragAndroid = "1.0.7"
cmptoast = "1.0.71"
playReview = "2.0.2"
qrose = "1.1.2"
agp = "9.2.1"
android-compileSdk = "36"
android-minSdk = "26"
android-targetSdk = "36"
androidx-activity = "1.13.0"
androidx-appcompat = "1.7.1"
androidx-core = "1.18.0"
androidx-espresso = "3.7.0"
androidx-lifecycle = "2.10.0"
androidx-testExt = "1.3.0"
composeMultiplatform = "1.10.3"
junit = "4.13.2"
kotlin = "2.3.21"
ksp = "2.3.4"
lensLogger = "1.1.0"
material = "1.13.0"
material3 = "1.10.0-alpha05"
material3Version = "1.4.0"
materialIconsExtended = "1.7.3"
navigationCompose = "2.9.2"
room = "3.0.0-alpha04"
datastore = "1.2.1"
ktor = "3.4.3"
koin = "4.2.1"
koinCompose = "4.2.1"
multiplatformSettings = "1.3.0"
napier = "2.7.1"
kotlinxSerialization = "1.11.0"
kotlinxCoroutines = "1.10.2"
kotlinxDatetime = "0.7.1"
coil = "3.4.0"
sdpSsp = "1.0.7"
compottie = "2.1.0"
konnectivity = "0.1-alpha01"
kmpNotifier = "1.6.1"
paging = "3.3.0-alpha02-0.5.1"
kotlinxCollectionsImmutable = "0.4.0"
camerax = "1.6.1"
clevertap = "8.1.0"
clarity = "3.8.2"
firebaseBom = "34.13.0"
appsflyer = "6.18.0"
installreferrer = "2.2"
playServicesAuth = "21.5.1"
google-services = "4.4.4"
media3 = "1.10.0"
firebase-crashlytics = "3.0.7"
firebase-performance = "2.0.2"
browser = "1.10.0"
media3CommonKtx = "1.10.0"
sqlite-bundled = "2.6.2"

[libraries]
facebook-core = { module = "com.facebook.android:facebook-core", version.ref = "facebookCore" }
app-update = { module = "com.google.android.play:app-update", version.ref = "appUpdate" }
app-update-ktx = { module = "com.google.android.play:app-update-ktx", version.ref = "appUpdate" }
embed-revrag-android = { module = "ai.revrag:embed-android", version.ref = "embedRevragAndroid" }
cmptoast = { module = "network.chaintech:cmptoast", version.ref = "cmptoast" }
play-review = { module = "com.google.android.play:review", version.ref = "playReview" }
qrose = { module = "io.github.alexzhirkevich:qrose", version.ref = "qrose" }
androidx-material3 = { module = "androidx.compose.material3:material3", version.ref = "material3Version" }
koin-android = { module = "io.insert-koin:koin-android", version.ref = "koin" }
kotlin-test = { module = "org.jetbrains.kotlin:kotlin-test", version.ref = "kotlin" }
junit = { module = "junit:junit", version.ref = "junit" }
androidx-core-ktx = { module = "androidx.core:core-ktx", version.ref = "androidx-core" }
androidx-testExt-junit = { module = "androidx.test.ext:junit", version.ref = "androidx-testExt" }
androidx-espresso-core = { module = "androidx.test.espresso:espresso-core", version.ref = "androidx-espresso" }
androidx-appcompat = { module = "androidx.appcompat:appcompat", version.ref = "androidx-appcompat" }
androidx-activity-compose = { module = "androidx.activity:activity-compose", version.ref = "androidx-activity" }
compose-uiTooling = { module = "org.jetbrains.compose.ui:ui-tooling", version.ref = "composeMultiplatform" }
compose-uiToolingPreview = { module = "org.jetbrains.compose.ui:ui-tooling-preview", version.ref = "composeMultiplatform" }
compose-runtime = { module = "org.jetbrains.compose.runtime:runtime", version.ref = "composeMultiplatform" }
compose-foundation = { module = "org.jetbrains.compose.foundation:foundation", version.ref = "composeMultiplatform" }
compose-material3 = { module = "org.jetbrains.compose.material3:material3", version.ref = "material3" }
compose-ui = { module = "org.jetbrains.compose.ui:ui", version.ref = "composeMultiplatform" }
compose-components-resources = { module = "org.jetbrains.compose.components:components-resources", version.ref = "composeMultiplatform" }
androidx-lifecycle-viewmodel = { module = "org.jetbrains.androidx.lifecycle:lifecycle-viewmodel", version.ref = "androidx-lifecycle" }
androidx-lifecycle-viewmodelCompose = { module = "org.jetbrains.androidx.lifecycle:lifecycle-viewmodel-compose", version.ref = "androidx-lifecycle" }
androidx-lifecycle-runtimeCompose = { module = "org.jetbrains.androidx.lifecycle:lifecycle-runtime-compose", version.ref = "androidx-lifecycle" }
androidx-lifecycle-process = { module = "androidx.lifecycle:lifecycle-process", version.ref = "androidx-lifecycle" }
koin-core = { module = "io.insert-koin:koin-core", version.ref = "koin" }
koin-compose = { module = "io.insert-koin:koin-compose", version.ref = "koinCompose" }
koin-compose-viewmodel = { module = "io.insert-koin:koin-compose-viewmodel", version.ref = "koinCompose" }
ktor-utils = { module = "io.ktor:ktor-utils", version.ref = "ktor" }
lens-logger = { module = "io.github.farhazulmullick:lens-logger", version.ref = "lensLogger" }
material = { group = "com.google.android.material", name = "material", version.ref = "material" }
material-icons-core = { module = "org.jetbrains.compose.material:material-icons-core", version.ref = "materialIconsExtended" }
material-icons-extended = { module = "org.jetbrains.compose.material:material-icons-extended", version.ref = "materialIconsExtended" }
androidx-room-runtime = { module = "androidx.room3:room3-runtime", version.ref = "room" }
androidx-room-compiler = { module = "androidx.room3:room3-compiler", version.ref = "room" }
navigation-compose = { module = "org.jetbrains.androidx.navigation:navigation-compose", version.ref = "navigationCompose" }
datastore = { module = "androidx.datastore:datastore", version.ref = "datastore" }
datastore-preferences = { module = "androidx.datastore:datastore-preferences", version.ref = "datastore" }
multiplatform-settings = { module = "com.russhwolf:multiplatform-settings", version.ref = "multiplatformSettings" }
multiplatform-settings-coroutines = { module = "com.russhwolf:multiplatform-settings-coroutines", version.ref = "multiplatformSettings" }
ktor-client-core = { module = "io.ktor:ktor-client-core", version.ref = "ktor" }
ktor-client-content-negotiation = { module = "io.ktor:ktor-client-content-negotiation", version.ref = "ktor" }
ktor-serialization-kotlinx-json = { module = "io.ktor:ktor-serialization-kotlinx-json", version.ref = "ktor" }
ktor-client-okhttp = { module = "io.ktor:ktor-client-okhttp", version.ref = "ktor" }
ktor-client-darwin = { module = "io.ktor:ktor-client-darwin", version.ref = "ktor" }
ktor-client-logging = { module = "io.ktor:ktor-client-logging", version.ref = "ktor" }
ktor-client-auth = { module = "io.ktor:ktor-client-auth", version.ref = "ktor" }
ktor-client-websockets = { module = "io.ktor:ktor-client-websockets", version.ref = "ktor" }
kotlinx-serialization-json = { module = "org.jetbrains.kotlinx:kotlinx-serialization-json", version.ref = "kotlinxSerialization" }
kotlinx-coroutines-core = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-core", version.ref = "kotlinxCoroutines" }
kotlinx-datetime = { module = "org.jetbrains.kotlinx:kotlinx-datetime", version.ref = "kotlinxDatetime" }
napier = { module = "io.github.aakira:napier", version.ref = "napier" }
sdp-ssp = { module = "network.chaintech:sdp-ssp-compose-multiplatform", version.ref = "sdpSsp" }
compottie = { module = "io.github.alexzhirkevich:compottie", version.ref = "compottie" }
compottie-network = { module = "io.github.alexzhirkevich:compottie-network", version.ref = "compottie" }
konnectivity = { module = "com.plusmobileapps:konnectivity", version.ref = "konnectivity" }
kmpnotifier = { module = "io.github.mirzemehdi:kmpnotifier", version.ref = "kmpNotifier" }
paging-common = { module = "app.cash.paging:paging-common", version.ref = "paging" }
paging-compose = { module = "app.cash.paging:paging-compose-common", version.ref = "paging" }
kotlinx-collections-immutable = { module = "org.jetbrains.kotlinx:kotlinx-collections-immutable", version.ref = "kotlinxCollectionsImmutable" }
coil-compose = { module = "io.coil-kt.coil3:coil-compose", version.ref = "coil" }
coil-network-ktor = { module = "io.coil-kt.coil3:coil-network-ktor3", version.ref = "coil" }
coil-svg = { module = "io.coil-kt.coil3:coil-svg", version.ref = "coil" }
coil-gif = { module = "io.coil-kt.coil3:coil-gif", version.ref = "coil" }
camerax-core = { module = "androidx.camera:camera-core", version.ref = "camerax" }
camerax-camera2 = { module = "androidx.camera:camera-camera2", version.ref = "camerax" }
camerax-lifecycle = { module = "androidx.camera:camera-lifecycle", version.ref = "camerax" }
camerax-view = { module = "androidx.camera:camera-view", version.ref = "camerax" }
camerax-video = { module = "androidx.camera:camera-video", version.ref = "camerax" }
clevertap-android = { module = "com.clevertap.android:clevertap-android-sdk", version.ref = "clevertap" }
clarity-android = { module = "com.microsoft.clarity:clarity", version.ref = "clarity" }
firebase-analytics = { module = "com.google.firebase:firebase-analytics" }
firebase-bom = { module = "com.google.firebase:firebase-bom", version.ref = "firebaseBom" }
firebase-crashlytics = { module = "com.google.firebase:firebase-crashlytics" }
firebase-config = { module = "com.google.firebase:firebase-config" }
firebase-messaging = { module = "com.google.firebase:firebase-messaging" }
firebase-perf = { module = "com.google.firebase:firebase-perf" }
appsflyer-android = { module = "com.appsflyer:af-android-sdk", version.ref = "appsflyer" }
media3-exoplayer = { module = "androidx.media3:media3-exoplayer", version.ref = "media3" }
media3-exoplayer-hls = { module = "androidx.media3:media3-exoplayer-hls", version.ref = "media3" }
media3-exoplayer-dash = { module = "androidx.media3:media3-exoplayer-dash", version.ref = "media3" }
media3-ui = { module = "androidx.media3:media3-ui", version.ref = "media3" }
installreferrer = { module = "com.android.installreferrer:installreferrer", version.ref = "installreferrer" }
play-services-auth = { module = "com.google.android.gms:play-services-auth", version.ref = "playServicesAuth" }
androidx-browser = { group = "androidx.browser", name = "browser", version.ref = "browser" }
androidx-media3-common-ktx = { group = "androidx.media3", name = "media3-common-ktx", version.ref = "media3CommonKtx" }
sqlite-bundled = { module = "androidx.sqlite:sqlite-bundled", version.ref = "sqlite-bundled" }
ui-backhandler = { module = "org.jetbrains.compose.ui:ui-backhandler", version.ref = "composeMultiplatform" }

[plugins]
androidMultiplatformLibrary = { id = "com.android.kotlin.multiplatform.library", version.ref = "agp" }
androidApplication = { id = "com.android.application", version.ref = "agp" }
composeMultiplatform = { id = "org.jetbrains.compose", version.ref = "composeMultiplatform" }
composeCompiler = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" }
kotlinMultiplatform = { id = "org.jetbrains.kotlin.multiplatform", version.ref = "kotlin" }
ksp = { id = "com.google.devtools.ksp", version.ref = "ksp" }
androidx-room = { id = "androidx.room3", version.ref = "room" }
serialization = { id = "org.jetbrains.kotlin.plugin.serialization", version.ref = "kotlin" }
googleServices = { id = "com.google.gms.google-services", version.ref = "google-services" }
firebaseCrashlytics = { id = "com.google.firebase.crashlytics", version.ref = "firebase-crashlytics" }
firebasePerformance = { id = "com.google.firebase.firebase-perf", version.ref = "firebase-performance" }
❤️ 1
working fine with agp > 9
b
I don’t add
kspIosX64
since it has been removed, but yeah, that block isn’t an issue for me