Firebase verstärkt sein Engagement für Kotlin und wir arbeiten daran, unser Android-Ökosystem zu modernisieren, um Kotlin mit Firebase zugänglicher und benutzerfreundlicher zu machen.
Dazu nehmen wir einige Änderungen an unseren Firebase SDKs für Android vor. Auf dieser Seite finden Sie wichtige Informationen zu dieser Änderung, darunter:
- Was ändert sich?
- Warum nehmen wir diese Änderung vor?
- Wichtige Termine für diese Änderung
- Migration zur Verwendung von KTX APIs aus dem Hauptmodul
Informationen zur Migration Ihrer App
Was ändert sich?
Die Kotlin-Erweiterungs-APIs (KTX) wurden den jeweiligen Hauptmodulen hinzugefügt. Beispielsweise wurden alle APIs aus firebase-perf-ktx unter dem com.google.firebase.perf Paket zu
firebase-perf hinzugefügt.
Durch diese Änderung können Kotlin-Entwickler jetzt von den Hauptmodulen abhängen anstelle der KTX-Module (bei Verwendung von Firebase BoM v32.5.0+ oder Hauptmodulversionen, die in BoM v32.5.0+ aufgeführt sind).
Im Juli 2025 haben wir die Veröffentlichung neuer Versionen der KTX-Module eingestellt und die KTX-Bibliotheken aus der Firebase Android BoM (v34.0.0) entfernt.
Warum nehmen wir diese Änderung vor?
Firebase setzt auf ein Kotlin-First Ökosystem für Android-Entwickler. Diese Modernisierung der Paketierung bietet folgende Vorteile:
Vereinfachte Abhängigkeitsverwaltung:Sie müssen jetzt nur noch von einem einzigen Modul abhängen. So ist es nicht mehr erforderlich, zwischen dem Hauptmodul und den Kotlin-Erweiterungen zu wechseln oder von beiden abzuhängen.
Verbesserte Kotlin-Unterstützung:Alle unsere Firebase SDKs für Android bieten jetzt eine bessere Unterstützung für Kotlin. Wir werden alle neuen Kotlin-freundlichen Funktionen direkt in unsere Hauptmodule aufnehmen.
Wichtige Termine für diese Änderung
Oktober 2023
Im Oktober 2023 wurden die Kotlin-Erweiterungs-APIs (KTX) den jeweiligen Hauptmodulen hinzugefügt. Das bedeutet, dass Sie die KTX APIs jetzt direkt aus den Hauptmodulen verwenden können, wenn Sie Firebase BoM v32.5.0+ oder Hauptmodulversionen verwenden, die in BoM v32.5.0+ aufgeführt sind.
Gleichzeitig wurden die Kotlin-Erweiterungs-APIs (KTX) in den KTX-Modulen eingestellt (siehe die Versionshinweise zu dieser Änderung). Während der Einstellungsphase, funktionieren die eingestellten APIs in den KTX-Modulen weiterhin und werden gewartet.
Juli 2025
Im Juli 2025 haben wir die Veröffentlichung neuer Versionen der KTX-Module eingestellt und die KTX-Module aus der Firebase BoM entfernt (ab BoM v34.0.0).
Alle zuvor veröffentlichten Versionen eines KTX-Moduls oder der BoM funktionieren weiterhin, werden aber nicht mehr gewartet. Das bedeutet, dass wir den KTX-Modulen keine Fehlerkorrekturen, abwärtskompatiblen Änderungen oder neuen Funktionen hinzufügen. Stattdessen erfolgt die gesamte zukünftige Entwicklung für Firebase unter Android nur noch in den Hauptmodulen (sowohl für Java als auch für Kotlin).
Migration zur Verwendung von KTX APIs aus den Hauptmodulen
Wenn Sie Kotlin-Erweiterungs-APIs (KTX) verwenden, nehmen Sie die folgenden Aktualisierungen in Ihrer App vor, um die APIs aus den Hauptmodulen anstelle der KTX-Module zu verwenden.
Überarbeiten Sie Ihre Gradle-Abhängigkeiten, damit sie vom Hauptmodul und nicht vom KTX-Modul abhängen. Beispiel: Wenn Sie die Firebase Android BoM (empfohlen):
VORHER
dependencies { // ... // Import the Firebase BoM implementation(platform("com.google.firebase:firebase-bom:34.13.0")) // Using KTX libraries for Authentication and Cloud Firestore implementation("com.google.firebase:firebase-auth-ktx") implementation("com.google.firebase:firebase-firestore-ktx") }
NACHHER
dependencies { // ... // Import the Firebase BoM as usual // Make sure to use Firebase BoM v32.5.0 or higher implementation(platform("com.google.firebase:firebase-bom:34.13.0")) // No need to use the KTX libraries; everything is now in the main module implementation("com.google.firebase:firebase-auth") implementation("com.google.firebase:firebase-firestore") }
Aktualisieren Sie Ihren Code, um alle Vorkommen der KTX APIs durch die verschobenen APIs im Hauptmodul unter dem Paket
com.google.firebasezu ersetzen.VORHER
import com.google.firebase.auth.ktx.auth import com.google.firebase.firestore.ktx.firestore import com.google.firebase.firestore.ktx.toObject import com.google.firebase.ktx.Firebase
NACHHER
import com.google.firebase.auth.auth import com.google.firebase.firestore.firestore import com.google.firebase.firestore.toObject import com.google.firebase.Firebase