skydoves / landscapist

🌻 A pluggable, highly optimized Jetpack Compose and Kotlin Multiplatform image loading library that fetches and displays network images with Glide, Coil, and Fresco.
https://skydoves.github.io/landscapist/
Apache License 2.0
2.18k stars 113 forks source link

Failed resolution of: Lio/ktor/client/plugins/HttpTimeout; #559

Closed shalva97 closed 2 months ago

shalva97 commented 2 months ago

Please complete the following information:

Describe the Bug: When I add implementation("com.github.skydoves:landscapist-coil3:2.3.8") then the app fails at runtime with below logs. I do not even have to change anything in code base, just adding the dependency make the app crash on runtime when making a request

java.lang.NoClassDefFoundError: Failed resolution of: Lio/ktor/client/plugins/HttpTimeout;
    at io.ktor.client.engine.android.AndroidClientEngine.<init>(AndroidClientEngine.kt:32)
    at io.ktor.client.engine.android.Android.create(Android.kt:31)
    at io.ktor.client.HttpClientKt.HttpClient(HttpClient.kt:43)
    at io.ktor.client.HttpClientJvmKt.HttpClient(HttpClientJvm.kt:23)
    at com.app.di.AppModuleKt.appModule$lambda$17$lambda$9(appModule.kt:45)
    at com.app.di.AppModuleKt.$r8$lambda$oFeSoYTcOKK3-7thA8JgWhk7B0o(Unknown Source:0)
    at com.app.di.AppModuleKt$$ExternalSyntheticLambda9.invoke(Unknown Source:4)
    at org.koin.core.instance.InstanceFactory.create(InstanceFactory.kt:50)
    at org.koin.core.instance.SingleInstanceFactory.create(SingleInstanceFactory.kt:46)
    at org.koin.core.instance.SingleInstanceFactory$get$1.invoke(SingleInstanceFactory.kt:55)
    at org.koin.core.instance.SingleInstanceFactory$get$1.invoke(SingleInstanceFactory.kt:53)
    at org.koin.mp.KoinPlatformTools.synchronized(KoinPlatformTools.kt:36)
    at org.koin.core.instance.SingleInstanceFactory.get(SingleInstanceFactory.kt:53)
    at org.koin.core.registry.InstanceRegistry.resolveInstance$koin_core(InstanceRegistry.kt:109)
    at org.koin.core.scope.Scope.resolveValue(Scope.kt:247)
    at org.koin.core.scope.Scope.resolveInstance(Scope.kt:233)
    at org.koin.core.scope.Scope.get(Scope.kt:212)
    at com.app.di.AppModuleKt$appModule$lambda$17$$inlined$factoryOf$default$1.invoke(FactoryOf.kt:228)
    at com.app.di.AppModuleKt$appModule$lambda$17$$inlined$factoryOf$default$1.invoke(FactoryOf.kt:60)
    at org.koin.core.instance.InstanceFactory.create(InstanceFactory.kt:50)
    at org.koin.core.instance.FactoryInstanceFactory.get(FactoryInstanceFactory.kt:38)
    at org.koin.core.registry.InstanceRegistry.resolveInstance$koin_core(InstanceRegistry.kt:109)
    at org.koin.core.scope.Scope.resolveValue(Scope.kt:247)
    at org.koin.core.scope.Scope.resolveInstance(Scope.kt:233)
    at org.koin.core.scope.Scope.get(Scope.kt:212)
    at com.app.di.AppModuleKt.appModule$lambda$17$lambda$15(appModule.kt:95)
    at com.app.di.AppModuleKt.$r8$lambda$2G8oFeI4w-XvntI_pxTvjEIhfMY(Unknown Source:0)
    at com.app.di.AppModuleKt$$ExternalSyntheticLambda13.invoke(Unknown Source:4)
    at org.koin.core.instance.InstanceFactory.create(InstanceFactory.kt:50)
    at org.koin.core.instance.FactoryInstanceFactory.get(FactoryInstanceFactory.kt:38)
    at org.koin.core.registry.InstanceRegistry.resolveInstance$koin_core(InstanceRegistry.kt:109)
    at org.koin.core.scope.Scope.resolveValue(Scope.kt:247)
    at org.koin.core.scope.Scope.resolveInstance(Scope.kt:233)
    at org.koin.core.scope.Scope.get(Scope.kt:212)
    at org.koin.compose.viewmodel.KoinViewModelFactory.create(ViewModelInternals.kt:71)
    at androidx.lifecycle.viewmodel.ViewModelProviderImpl_androidKt.createViewModel(ViewModelProviderImpl.android.kt:34)
    at androidx.lifecycle.viewmodel.ViewModelProviderImpl.getViewModel$lifecycle_viewmodel_release(ViewModelProviderImpl.kt:65)
    at androidx.lifecycle.viewmodel.ViewModelProviderImpl.getViewModel$lifecycle_viewmodel_release$default(ViewModelProviderImpl.kt:47)
    at androidx.lifecycle.ViewModelProvider.get(ViewModelProvider.android.kt:91)
    at org.koin.compose.viewmodel.ViewModelInternalsKt.resolveViewModel(ViewModelInternals.kt:49)
    at com.app.presentation.ComposableSingletons$AppKt$lambda-3$1.invoke(App.kt:197)
    at com.app.presentation.ComposableSingletons$AppKt$lambda-3$1.invoke(App.kt:47)
    at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:109)
    at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:35)
    at androidx.compose.runtime.CompositionLocalKt.CompositionLocalProvider(CompositionLocal.kt:401)
    at androidx.compose.material3.TextKt.ProvideTextStyle(Text.kt:349)
    at androidx.compose.material3.MaterialThemeKt$MaterialTheme$1.invoke(MaterialTheme.kt:69) (Ask Gemini)
    at androidx.compose.material3.MaterialThemeKt$MaterialTheme$1.invoke(MaterialTheme.kt:68)
    at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:109)
    at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:35)
    at androidx.compose.runtime.CompositionLocalKt.CompositionLocalProvider(CompositionLocal.kt:380)
    at androidx.compose.material3.MaterialThemeKt.MaterialTheme(MaterialTheme.kt:60)
    at com.app.presentation.theme.ThemeKt.Theme(Theme.kt:37)
    at com.app.presentation.ComposableSingletons$AppKt$lambda-4$1.invoke(App.kt:47)
    at com.app.presentation.ComposableSingletons$AppKt$lambda-4$1.invoke(App.kt:46)
    at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:109)
    at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:35)
    at org.koin.compose.KoinApplicationKt$KoinContext$1.invoke(KoinApplication.kt:147)
    at org.koin.compose.KoinApplicationKt$KoinContext$1.invoke(KoinApplication.kt:146)
    at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:109)
    at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:35)
    at androidx.compose.runtime.CompositionLocalKt.CompositionLocalProvider(CompositionLocal.kt:380)
    at org.koin.compose.KoinApplicationKt.KoinContext(KoinApplication.kt:143)
    at com.app.presentation.AppKt.App(App.kt:46)
    at com.app.presentation.ComposableSingletons$MainActivityKt$lambda-1$1.invoke(MainActivity.kt:18)
    at com.app.presentation.ComposableSingletons$MainActivityKt$lambda-1$1.invoke(MainActivity.kt:17)
    at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:109)
    at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:35)
    at androidx.compose.ui.platform.ComposeView.Content(ComposeView.android.kt:441)
    at androidx.compose.ui.platform.AbstractComposeView$ensureCompositionCreated$1.invoke(ComposeView.android.kt:259)
    at androidx.compose.ui.platform.AbstractComposeView$ensureCompositionCreated$1.invoke(ComposeView.android.kt:258)
    at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:109)
    at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:35)
    at androidx.compose.runtime.CompositionLocalKt.CompositionLocalProvider(CompositionLocal.kt:380)
    at androidx.compose.ui.platform.CompositionLocalsKt.ProvideCommonCompositionLocals(CompositionLocals.kt:216)
    at androidx.compose.ui.platform.AndroidCompositionLocals_androidKt$ProvideAndroidCompositionLocals$3.invoke(AndroidCompositionLocals.android.kt:132)
    at androidx.compose.ui.platform.AndroidCompositionLocals_androidKt$ProvideAndroidCompositionLocals$3.invoke(AndroidCompositionLocals.android.kt:131)
    at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:109)
    at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:35)
    at androidx.compose.runtime.CompositionLocalKt.CompositionLocalProvider(CompositionLocal.kt:380)
    at androidx.compose.ui.platform.AndroidCompositionLocals_androidKt.ProvideAndroidCompositionLocals(AndroidCompositionLocals.android.kt:121)
    at androidx.compose.ui.platform.WrappedComposition$setContent$1$1$3.invoke(Wrapper.android.kt:155)
    at androidx.compose.ui.platform.WrappedComposition$setContent$1$1$3.invoke(Wrapper.android.kt:154)
    at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:109)
    at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:35)
    at androidx.compose.runtime.CompositionLocalKt.CompositionLocalProvider(CompositionLocal.kt:401)
    at androidx.compose.ui.platform.WrappedComposition$setContent$1$1.invoke(Wrapper.android.kt:154) (Ask Gemini)
    at androidx.compose.ui.platform.WrappedComposition$setContent$1$1.invoke(Wrapper.android.kt:133)
    at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:109)
    at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:35)
    at androidx.compose.runtime.ActualJvm_jvmKt.invokeComposable(ActualJvm.jvm.kt:97)
    at androidx.compose.runtime.ComposerImpl.doCompose(Composer.kt:3593)
    at androidx.compose.runtime.ComposerImpl.composeContent$runtime_release(Composer.kt:3520)
    at androidx.compose.runtime.CompositionImpl.composeContent(Composition.kt:743)
    at androidx.compose.runtime.Recomposer.composeInitial$runtime_release(Recomposer.kt:1122)
    at androidx.compose.runtime.CompositionImpl.composeInitial(Composition.kt:649)
    at androidx.compose.runtime.CompositionImpl.setContent(Composition.kt:635)
    at androidx.compose.ui.platform.WrappedComposition$setContent$1.invoke(Wrapper.android.kt:133)
    at androidx.compose.ui.platform.WrappedComposition$setContent$1.invoke(Wrapper.android.kt:124)
    at androidx.compose.ui.platform.AndroidComposeView.setOnViewTreeOwnersAvailable(AndroidComposeView.android.kt:1625)
    at androidx.compose.ui.platform.WrappedComposition.setContent(Wrapper.android.kt:124)
    at androidx.compose.ui.platform.WrappedComposition.onStateChanged(Wrapper.android.kt:180)
    at androidx.lifecycle.LifecycleRegistry$ObserverWithState.dispatchEvent(LifecycleRegistry.jvm.kt:320)
    at androidx.lifecycle.LifecycleRegistry.addObserver(LifecycleRegistry.jvm.kt:198)
    at androidx.compose.ui.platform.WrappedComposition$setContent$1.invoke(Wrapper.android.kt:131)
    at androidx.compose.ui.platform.WrappedComposition$setContent$1.invoke(Wrapper.android.kt:124)
    at androidx.compose.ui.platform.AndroidComposeView.onAttachedToWindow(AndroidComposeView.android.kt:1706)
    at android.view.View.dispatchAttachedToWindow(View.java:21290)
    at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:3491)
    at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:3498)
    at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:3498)
    at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:3498)
    at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:3498)
    at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2820)
    at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:2328)
    at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:9087)
    at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1231)
    at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1239)
    at android.view.Choreographer.doCallbacks(Choreographer.java:899)
    at android.view.Choreographer.doFrame(Choreographer.java:832)
    at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:1214)
    at android.os.Handler.handleCallback(Handler.java:942)
    at android.os.Handler.dispatchMessage(Handler.java:99)
    at android.os.Looper.loopOnce(Looper.java:201)
    at android.os.Looper.loop(Looper.java:288)
    at android.app.ActivityThread.main(ActivityThread.java:7872)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:936)
Caused by: java.lang.ClassNotFoundException: Didn't find class "io.ktor.client.plugins.HttpTimeout" on path: DexPathList[[zip file "/data/app/~~rmbB8aDKj1Fy5DeI-Zzvjw==/com.app-hscWVa59TIwDLfe-zGp2KQ==/base.apk"],nativeLibraryDirectories=[/data/app/~~rmbB8aDKj1Fy5DeI-Zzvjw==/com.app-hscWVa59TIwDLfe-zGp2KQ==/lib/x86_64, /data/app/~~rmbB8aDKj1Fy5DeI-Zzvjw==/com.app-hscWVa59TIwDLfe-zGp2KQ==/base.apk!/lib/x86_64, /system/lib64, /system_ext/lib64]]
    at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:259)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:379) (Ask Gemini)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
    ... 129 more

similar thing happens if I just add implementation(libs.coil3.network.ktor3), maybe it is a bug on their side?

Those are my deps

[versions]
compose-plugin = "1.7.0-beta02"
agp = "8.2.2"
android-compileSdk = "34"
android-minSdk = "26"
android-targetSdk = "34"
androidx-activityCompose = "1.9.1"
androidx-appcompat = "1.7.0"
androidx-constraintlayout = "2.1.4"
androidx-core-ktx = "1.13.1"
androidx-espresso-core = "3.6.1"
androidx-material = "1.12.0"
androidx-test-junit = "1.2.1"
coil3 = "3.0.0-alpha10"
firebaseBom = "33.1.2"
junit = "4.13.2"
kotlin = "2.0.0"
ktor = "2.3.12"
navigationCompose = "2.8.0-alpha08"
lifecycleViewModel = "2.8.4"
koin = "3.6.0-alpha3"
koinCompose = "3.6.0-alpha3"
koinComposeMultiplatform = "1.2.0-alpha3"
koinComposeViewModel = "1.2.0-Beta4"
datastore = "1.1.1"
atomicfu = "0.23.2"

[libraries]
coil3 = { group = "io.coil-kt.coil3", name = "coil", version.ref = "coil3" }
coil3-network-ktor3 = { group = "io.coil-kt.coil3", name = "coil-network-ktor3", version.ref = "coil3" }
firebase-analytics = { module = "com.google.firebase:firebase-analytics" }
firebase-bom = { module = "com.google.firebase:firebase-bom", version.ref = "firebaseBom" }
kotlin-test = { module = "org.jetbrains.kotlin:kotlin-test", version.ref = "kotlin" }
kotlin-test-junit = { module = "org.jetbrains.kotlin:kotlin-test-junit", version.ref = "kotlin" }
junit = { group = "junit", name = "junit", version.ref = "junit" }
androidx-core-ktx = { group = "androidx.core", name = "core-ktx", version.ref = "androidx-core-ktx" }
androidx-test-junit = { group = "androidx.test.ext", name = "junit", version.ref = "androidx-test-junit" }
androidx-espresso-core = { group = "androidx.test.espresso", name = "espresso-core", version.ref = "androidx-espresso-core" }
androidx-appcompat = { group = "androidx.appcompat", name = "appcompat", version.ref = "androidx-appcompat" }
androidx-material = { group = "com.google.android.material", name = "material", version.ref = "androidx-material" }
androidx-constraintlayout = { group = "androidx.constraintlayout", name = "constraintlayout", version.ref = "androidx-constraintlayout" }
androidx-activity-compose = { module = "androidx.activity:activity-compose", version.ref = "androidx-activityCompose" }
ktor-client-android = { module = "io.ktor:ktor-client-android", version.ref = "ktor" }
ktor-okhttp = { group = "io.ktor", name = "ktor-client-okhttp", version.ref = "ktor" }
ktor-client-cio = { module = "io.ktor:ktor-client-cio", version.ref = "ktor" }
ktor-client-content-negotiation = { module = "io.ktor:ktor-client-content-negotiation", version.ref = "ktor" }
ktor-client-core = { module = "io.ktor:ktor-client-core", 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-serialization = { module = "io.ktor:ktor-client-serialization", version.ref = "ktor" }
ktor-serialization-kotlinx-json = { module = "io.ktor:ktor-serialization-kotlinx-json", version.ref = "ktor" }
navigation-compose = { module = "org.jetbrains.androidx.navigation:navigation-compose", version.ref = "navigationCompose" }
lifecycle-viewmodel = { module = "androidx.lifecycle:lifecycle-viewmodel", version.ref = "lifecycleViewModel"}
koin-android = { module = "io.insert-koin:koin-android", version.ref = "koin" }
koin-androidx-compose = { module = "io.insert-koin:koin-androidx-compose", version.ref = "koinCompose" }
koin-core = { module = "io.insert-koin:koin-core", version.ref = "koin" }
koin-compose = { module = "io.insert-koin:koin-compose", version.ref = "koinComposeMultiplatform" }
koin-compose-viewmodel = { module = "io.insert-koin:koin-compose-viewmodel", version.ref = "koinComposeViewModel" }
datastore-preferences = { module = "androidx.datastore:datastore-preferences", version.ref = "datastore" }
atomicfu = { module = "org.jetbrains.kotlinx:atomicfu", version.ref = "atomicfu" }

[plugins]
androidApplication = { id = "com.android.application", version.ref = "agp" }
androidLibrary = { id = "com.android.library", version.ref = "agp" }
jetbrainsCompose = { id = "org.jetbrains.compose", version.ref = "compose-plugin" }
compose-compiler = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" }
kotlinMultiplatform = { id = "org.jetbrains.kotlin.multiplatform", version.ref = "kotlin" }

and this is my build file

import org.jetbrains.kotlin.gradle.ExperimentalKotlinGradlePluginApi
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
import org.jetbrains.kotlin.gradle.plugin.KotlinSourceSetTree

plugins {
    alias(libs.plugins.kotlinMultiplatform)
    alias(libs.plugins.androidApplication)
    alias(libs.plugins.jetbrainsCompose)
    alias(libs.plugins.compose.compiler)
    id("org.jetbrains.kotlin.plugin.serialization")
    id("io.realm.kotlin")
    id("com.google.gms.google-services")
}

kotlin {
    androidTarget {
        @OptIn(ExperimentalKotlinGradlePluginApi::class)
        compilerOptions {
            jvmTarget.set(JvmTarget.JVM_11)
        }
        @OptIn(ExperimentalKotlinGradlePluginApi::class)
        instrumentedTestVariant.sourceSetTree.set(KotlinSourceSetTree.test)
    }
    jvm("desktop")
    listOf(
        iosX64(),
        iosArm64(),
        iosSimulatorArm64()
    ).forEach { iosTarget ->
        iosTarget.binaries.framework {
            baseName = "ComposeApp"
            isStatic = true
        }
    }
    //noinspection UseTomlInstead
    sourceSets {
        androidMain.dependencies {
            implementation(compose.preview)
            implementation(libs.androidx.activity.compose)
            implementation(libs.koin.android)
            implementation(libs.koin.androidx.compose)
        }
        commonMain.dependencies {
            implementation("org.jetbrains.kotlinx:kotlinx-datetime:0.6.0")
            implementation(compose.runtime)
            implementation(compose.foundation)
            implementation(compose.material3)
            implementation(compose.materialIconsExtended)
            implementation(compose.ui)
            implementation(compose.components.resources)
            implementation(compose.components.uiToolingPreview)
            implementation(libs.navigation.compose)
            api(libs.koin.core)
            implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.7.1")
            implementation(libs.koin.compose)
            implementation(libs.koin.compose.viewmodel)
            implementation(libs.lifecycle.viewmodel)
            implementation(libs.navigation.compose)
            implementation("io.realm.kotlin:library-base:2.1.0")
            implementation(libs.ktor.client.core)
            implementation(libs.ktor.serialization.kotlinx.json)
            implementation(libs.ktor.client.logging)
            implementation(libs.ktor.client.serialization)
            implementation(libs.ktor.client.content.negotiation)
//            implementation(libs.coil3)
//            implementation(libs.coil3.network.ktor3)
//            implementation("com.github.skydoves:landscapist-coil3:2.3.8")
        }
        commonTest.dependencies {
            implementation(kotlin("test"))
            implementation("io.insert-koin:koin-test:3.6.0-wasm-alpha2")
            implementation("org.jetbrains.kotlinx:kotlinx-coroutines-test:1.9.0-RC")
            @OptIn(org.jetbrains.compose.ExperimentalComposeLibrary::class)
            implementation(compose.uiTest)
            implementation(libs.ktor.client.cio)
        }
        iosMain.dependencies {
            implementation(libs.ktor.client.darwin)
        }
    }
}

android {
    namespace = "com.app"
    compileSdk = libs.versions.android.compileSdk.get().toInt()

    sourceSets["main"].manifest.srcFile("src/androidMain/AndroidManifest.xml")
    sourceSets["main"].res.srcDirs("src/androidMain/res")
    sourceSets["main"].resources.srcDirs("src/commonMain/resources")

    defaultConfig {
        applicationId = "com.app"
        minSdk = libs.versions.android.minSdk.get().toInt()
        targetSdk = libs.versions.android.targetSdk.get().toInt()
        versionCode = 2
        versionName = "1.1"
        testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
    }
    packaging {
        resources {
            excludes += "/META-INF/{AL2.0,LGPL2.1}"
        }
    }
    buildTypes {
        getByName("release") {
            isMinifyEnabled = false
        }
    }
    compileOptions {
        sourceCompatibility = JavaVersion.VERSION_11
        targetCompatibility = JavaVersion.VERSION_11
    }
    buildFeatures {
        compose = true
    }
    //noinspection UseTomlInstead
    dependencies {
        debugImplementation(compose.uiTooling)
        compileOnly("io.realm.kotlin:library-base:2.1.0")
        implementation(platform(libs.firebase.bom))
        implementation(libs.firebase.analytics)
        implementation("androidx.core:core-splashscreen:1.0.1")
        androidTestImplementation("androidx.compose.ui:ui-test-junit4-android:1.6.8")
        debugImplementation("androidx.compose.ui:ui-test-manifest:1.6.8")
        implementation("com.facebook.android:facebook-android-sdk:17.0.1")
        implementation(libs.ktor.okhttp)
//        implementation("com.google.android.gms:play-services-maps:19.0.0")
//        implementation("com.google.android.gms:play-services-location:21.3.0")
        implementation("com.google.maps.android:maps-compose:6.1.0")
//        implementation(libs.coil.network.ktor2)
    }
}
skydoves commented 2 months ago

I just found you use ktor 2.x.x, as you can expect on the dependency name, you should use ktor3. Please try this again with the ktor verseion 3.0.0-rc-1.

shalva97 commented 2 months ago

Huge thanks