koin = "4.0.0"
[libraries]
#koin compose multiplatform
koin-compose = { module = "io.insert-koin:koin-compose", version.ref = "koin_version" }
koin-compose-viewmodel = { module = "io.insert-koin:koin-compose-viewmodel", version.ref = "koin_version" }
koin-compose-view-model-navigation = { module = "io.insert-koin:koin-compose-view-model-navigation", version.ref = "koin_version" }
#koin-android
koin-android = { module = "io.insert-koin:koin-android", version.ref = "koin_version" }
koin-androidx-compose = { module = "io.insert-koin:koin-androidx-compose", version.ref = "koin_version" }
[bundles]
koin-android = [
"koin-android",
"koin-androidx-compose"
]
koin-compose = [
"koin-compose",
"koin-compose-viewmodel",
"koin-compose-view-model-navigation"
]
Code language: PHP (php)
In build.gradle.kts
androidMain.dependencies {
//...
implementation(libs.bundles.koin.android)
}
commonMain.dependencies {
//....
implementation(libs.bundles.koin.compose)
}
Code language: JavaScript (javascript)
Initiate Koin in androidMain module
class MyApplication: Application() {
override fun onCreate() {
super.onCreate()
initKoin {
androidContext(this@MyApplication)
}
}
}
Mention MyApplication.kt in AndroidManifest.xml
android:name=".MyApplication"
Code language: JavaScript (javascript)
Initiate koin in iosMain module
fun MainViewController() = ComposeUIViewController(
configure = {
initKoin()
}
) { App() }