Abhängigkeitskonflikt mit KTOR zwischen Gemini API und SupabaseAndroid

Forum für diejenigen, die für Android programmieren
Anonymous
 Abhängigkeitskonflikt mit KTOR zwischen Gemini API und Supabase

Post by Anonymous »

Problem
Ich entwickle eine Android -App, die sowohl die Gemini -API von Google (die von KTOR 2.x abhängt) als auch von Supabase SDK (für das KTOR 3.x erforderlich ist). Wenn ich beide Bibliotheken einbeziehe, begegne ich Fehler bei der Auflösung von Klassen aufgrund widersprüchlicher KTOR -Versionen. 2024.3.1

[*]Kotlin 1.9.x

[*]Jetpack Compose

[*]Hilt for DI

Target SDK 35 < /p>
< /li>
< /ul>
Fehlerdetails
Die App stürzt mit alternierenden Fehlern ab: < /p>
SUPABASE-Related-Fehler: < /strong> < /p>

Code: Select all

java.lang.NoClassDefFoundError: Failed resolution of: Lio/ktor/client/HttpClientJvmKt;
at io.github.jan.supabase.network.KtorSupabaseHttpClient.\(KtorSupabaseHttpClient.kt:55)
Gemini-bezogene Fehler: [/b]

Code: Select all

java.lang.NoClassDefFoundError: Failed resolution of: Lio/ktor/client/plugins/HttpTimeout;
at io.ktor.client.engine.okhttp.OkHttpEngine.(OkHttpEngine.kt:40)
at com.google.ai.client.generativeai.common.APIController.
Abhängigkeiten (build.gradle.KTS) Kotlin Copy // Supabase SDK (KTOR 3.x):

Code: Select all

implementation(libs.supabase.auth)
implementation(libs.supabase.postgrest)
implementation(libs.supabase.realtime)
implementation(libs.supabase.storage)
implementation(libs.supabase.functions)
< /code>
// Gemini API (Ktor 2.x)
implementation(libs.generativeai)
< /code>
// Explicit Ktor dependencies
implementation(libs.ktor.client.android)
Versuchte Lösungen
Ausgeschlossener Ktor von Gemini in Build Gradle.KTS

Code: Select all

implementation(libs.generativeai) {
exclude(group = "io.ktor")
}
Explizite KTOR-Versionen hinzugefügt :

Code: Select all

implementation("io.ktor:ktor-client-core:3.1.0")
implementation("io.ktor:ktor-client-okhttp:3.1.0")
// Also tried mixing versions (failed)
implementation("io.ktor:ktor-client-plugins:2.3.7")
Angepasste Verpackungen:
packaging {
resources {
pickFirsts.add("META-INF/INDEX.LIST")
pickFirsts.add("META-INF/io.netty.versions.properties")
excludes.add("META-INF/*.kotlin_module")
}
}
< /code>
Keine hat den Konflikt gelöst. Gibt es eine sichere Möglichkeit, mit wichtigen Versionen für KTOR -Fehlanpassungen umzugehen?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post