Jetpack Navigation 3 Version 1.0 ist stabil 🎉. Sie können sie also schon jetzt in Ihren Produktions-Apps verwenden. JetBrains nutzt sie bereits in seiner KotlinConf-App.
Navigation 3 ist eine neue Navigationsbibliothek, die von Grund auf neu entwickelt wurde, um Status in Jetpack Compose zu unterstützen. Sie haben die volle Kontrolle über den Backstack, können den Navigationsstatus beibehalten und ganz einfach adaptive Layouts (z. B. Listen-Detail-Layouts) erstellen. Es gibt sogar eine plattformübergreifende Version von JetBrains.
Warum eine neue Bibliothek?
Die ursprüngliche Jetpack Navigation-Bibliothek (jetzt Nav2) wurde vor sieben Jahren entwickelt. Sie erfüllt zwar ihre ursprünglichen Ziele gut und wurde iterativ verbessert, aber die Art und Weise, wie Apps heute erstellt werden, hat sich grundlegend geändert.
Reaktive Programmierung mit einer deklarativen Benutzeroberfläche ist heute die Norm. Nav3 folgt diesem Ansatz. NavDisplay (die Nav3-UI-Komponente, die Ihre Bildschirme anzeigt) beobachtet beispielsweise einfach eine Liste von Schlüsseln (jeder steht für einen Bildschirm), die durch den Compose-Status unterstützt werden, und aktualisiert die Benutzeroberfläche, wenn sich diese Liste ändert.
Nav2 kann es auch erschweren, eine einzige Quelle der Wahrheit für Ihren Navigationsstatus zu haben, da es einen eigenen internen Status hat. Mit Nav3 stellen Sie Ihren eigenen Status bereit, was Ihnen die vollständige Kontrolle gibt.
Sie haben sich mehr Flexibilität und Anpassungsmöglichkeiten gewünscht. Anstelle einer einzelnen, monolithischen API bietet Nav3 kleinere, entkoppelte APIs („Bausteine“), die kombiniert werden können, um komplexe Funktionen zu erstellen. Nav3 selbst verwendet diese Bausteine, um sinnvolle Standardeinstellungen für klar definierte Navigationsanwendungsfälle bereitzustellen.
Dieser Ansatz bietet folgende Vorteile:
- Bildschirmanimationen anpassen – sowohl global als auch individuell
- Mehrere Bereiche gleichzeitig anzeigen und mit der Scenes API flexible Layouts erstellen
- Nav3-Komponenten lassen sich ganz einfach durch eigene Implementierungen ersetzen, wenn Sie benutzerdefiniertes Verhalten wünschen.
Weitere Informationen zum Design und zu den Funktionen findest du im Blog zur Markteinführung.
Migration von Navigation 2
Wenn Sie bereits Nav2, insbesondere Navigation Compose, verwenden, sollten Sie eine Migration zu Nav3 in Betracht ziehen. Dazu gibt es einen Migrationsleitfaden. Die wichtigsten Schritte sind:
- Fügen Sie die Navigation 3-Abhängigkeiten hinzu.
- Aktualisieren Sie Ihre Navigationsrouten, um NavKey zu implementieren. Ihre Routen müssen diese Schnittstelle nicht implementieren, um Nav3 zu verwenden. Wenn sie dies jedoch tun, können Sie die Funktion „rememberNavBackStack“ von Nav3 nutzen, um einen persistenten Backstack zu erstellen.
- Erstellen Sie Klassen, um den Navigationsstatus zu speichern und zu ändern. Hier werden Ihre Backstacks gespeichert.
- Ersetzen Sie NavController durch diese Klassen.
- Verschieben Sie Ihre Ziele aus dem NavGraph des NavHost in einen „entryProvider“.
- Ersetzen Sie NavHost durch NavDisplay.
Migration von KI-Agenten testen
Sie können auch einen KI-Agenten verwenden, um die Migrationsanleitung zu lesen und die Schritte in Ihrem Projekt auszuführen. So probieren Sie das mit Gemini im KI-Agentenmodus von Android Studio aus:
- Speichern Sie diese Markdown-Version der Anleitung in Ihrem Projekt.
- Fügen Sie diesen Prompt in den Agent ein (drücken Sie aber nicht die Eingabetaste): „Migriere dieses Projekt zu Navigation 3 mit“.
- Geben Sie @migration-guide.md ein. Dadurch wird der Leitfaden als Kontext für den Agenten bereitgestellt.
Prüfen Sie wie immer sorgfältig die Änderungen, die vom KI-Agenten vorgenommen wurden. Er kann Fehler machen.
Wir würden uns freuen, wenn Sie uns hier Feedback dazu geben, wie Sie oder Ihr Kundenservicemitarbeiter abgeschnitten haben.
Praktische Navigationsanleitungen für häufige Szenarien
Für häufige, aber differenzierte Anwendungsfälle haben wir ein Rezept-Repository. Hier wird gezeigt, wie die Nav3-APIs auf bestimmte Weise kombiniert werden können. Sie können das Rezept an Ihre speziellen Anforderungen anpassen. Wenn sich ein Rezept als beliebt erweist, werden wir in Erwägung ziehen, die nicht nuancierten Teile in die Nav3-Kernbibliothek oder Add-on-Bibliotheken zu übernehmen.
Derzeit gibt es 19 Rezepte, darunter für:
- Mehrere Backstacks
- Modularisierung und Abhängigkeitsinjektion
- Navigationsargumente an ViewModels übergeben (einschließlich der Verwendung von Koin)
- Ergebnisse von Bildschirmen zurückgeben nach Ereignissen und nach gemeinsamem Status
Wir arbeiten derzeit an einem Rezept für Deeplinks sowie an einer Koin-Integration und haben viele weitere geplant. Ein Entwickler von JetBrains hat auch eine Compose Multiplatform-Version der Rezepte veröffentlicht.
Wenn Sie einen häufigen Anwendungsfall haben, für den Sie ein Rezept wünschen, stellen Sie bitte einen Rezeptantrag.
Zusammenfassung
Hier finden Sie die Dokumentation und hier die Rezepte für Nav3. Außerdem erwartet Sie eine ganze Woche voller technischer Inhalte, darunter:
- Ein ausführliches Video zur API mit Informationen zu Modularisierung, Animationen und adaptiven Layouts.
- Eine Live-Fragerunde mit den Entwicklern, die Nav3 entwickelt haben.
Die Nav3 Spotlight Week beginnt am 1. Dezember 2025.
Falls Probleme auftreten, können Sie sie hier melden.
Weiterlesen
-
Produktneuheiten
Im Jahr 2025 ist das Android-Ökosystem weit über Smartphones hinausgewachsen. Entwickler haben heute die Möglichkeit, über 500 Millionen aktive Geräte zu erreichen, darunter faltbare Geräte, Tablets, XR-Geräte, Chromebooks und kompatible Fahrzeuge.
Fahd Imtiaz • Lesezeit: 2 Minuten
-
Produktneuheiten
Auf der Google I/O werden jedes Jahr neue Ankündigungen und Ressourcen für Ökosysteme und Produkte, einschließlich der Android-Entwicklung, vorgestellt. Da sich die Entwicklung hin zu KI- und Agent-basierten Tools verschiebt, haben wir unser Angebot erweitert, um Sie bei der Entwicklung für Android besser zu unterstützen.
Simona Milanovic • Lesezeit: 2 Minuten
-
Produktneuheiten
Auf der Google I/O 2026 haben wir gezeigt, wie Sie mit den neuesten Entwicklungen im Android-Ökosystem die Qualität Ihrer App steigern und gleichzeitig die Entwicklungseffizienz maximieren können.
Ataul Munim • Lesezeit: 3 Minuten
Auf dem Laufenden bleiben
Lassen Sie sich Woche für Woche die neuesten Informationen zur Android-Entwicklung zusenden.