navigation3

  
Navigation 3는 Compose와 함께 작동하도록 설계된 새로운 탐색 라이브러리입니다.
최근 업데이트 안정화 버전 출시 후보 버전 베타 버전 알파 버전
2025년 8월 27일 - - - 1.0.0-alpha08

종속 항목 선언

navigation3의 종속 항목을 추가하려면 프로젝트에 Google Maven 저장소를 추가해야 합니다. 자세한 내용은 Google Maven 저장소를 읽어보세요.

다음과 같이 앱 또는 모듈의 build.gradle 파일에 필요한 아티팩트의 종속 항목을 추가합니다.

Groovy

dependencies {
    implementation "androidx.navigation3:navigation3-runtime:1.0.0-alpha08"
    implementation "androidx.navigation3:navigation3-ui:1.0.0-alpha08"
}

Kotlin

dependencies {
    implementation("androidx.navigation3:navigation3-runtime:1.0.0-alpha08")
    implementation("androidx.navigation3:navigation3-ui:1.0.0-alpha08")
}

종속 항목에 관한 자세한 내용은 빌드 종속 항목 추가를 참고하세요.

의견

제출하신 의견은 Jetpack을 개선하는 데 도움이 됩니다. 새로운 문제를 발견하거나 라이브러리 개선을 위한 아이디어가 있다면 Google에 알려 주세요. 새 문제를 제출하기 전에 이 라이브러리의 기존 문제를 살펴보시기 바랍니다. 별표 버튼을 클릭하여 기존 문제에 투표할 수 있습니다.

새로운 문제 제출하기

자세한 내용은 Issue Tracker 문서를 참고하세요.

이 아티팩트의 출시 노트는 없습니다.

버전 1.0

버전 1.0.0-alpha08

2025년 8월 27일

androidx.navigation3:navigation3-*:1.0.0-alpha08이 출시되었습니다. 버전 1.0.0-alpha08에는 이 커밋이 포함되어 있습니다.

새로운 기능

  • Navigation3 Runtime 아티팩트에 새로운 Kotlin MultiPlatform (KMP) 타겟이 추가되었습니다. 이제 Navigation3 Runtime는 JVM (Android 및 데스크톱), 네이티브 (Linux, iOS, watchOS, macOS, MinGW), 웹 (JavaScript, WasmJS) 등 총 3가지 플랫폼을 지원합니다. (I55078, b/424410398, b/419294028, b/419046226) 참고: Navigation3 UI 아티팩트의 KMP 타겟은 제공되지 않습니다. 다른 플랫폼에서는 자체 맞춤 NavDisplay를 구현해야 합니다. 이 기능이 지원되기를 원한다면 여기에서 Jetbrains 문제를 투표하고 진행 상황을 추적하여 추가 지원을 받으세요.
  • 이제 NavDisplayInfo 객체가 공개되어 NavDisplay에서 표시되는 항목 목록을 검색하는 데 사용할 수 있습니다. (Ibc91f)

API 변경사항

  • 상태 복원을 실행하기 위해 rememberNavBackStack와 함께 사용할 새로운 NavBackStackSerializer가 추가되었습니다. 이제 rememberNavBackStack()는 자체 구성을 제공하는 데 사용할 수 있는 SavedStateConfiguration도 사용합니다. (I2f4d2, I4cd58, b/420443609)

버그 수정

알려진 문제

  • I8bf6d로 인해 도입된 버그로 인해 수명 주기가 개별 항목이 아닌 장면을 기반으로 하여 여러 화면이 있는 장면의 수명 주기가 중단되었습니다. 이 문제는 다음 출시에서 수정되었습니다. (b/440145700)

버전 1.0.0-alpha07

2025년 8월 13일

androidx.navigation3:navigation3-*:1.0.0-alpha07이 출시되었습니다. 버전 1.0.0-alpha07에는 이러한 커밋이 포함되어 있습니다.

MinSdk 업데이트

API 변경사항

  • 이제 SavedStateNavEntryDecoratorSaveableStateProvider에 내장된 SaveableStateRegistry를 사용하여 상태를 저장하고 복원합니다. (If8d9a)
  • 이제 predictivePopTransitionSpec에 스와이프 가장자리가 매개변수로 제공되므로 사용자가 뒤로 탐색 예측 동작을 시작한 가장자리에 따라 전환을 맞춤설정할 수 있습니다. (I753a8)

버그 수정

  • 최근 장면이 기억되지 않아 맞춤 장면이 무한히 다시 계산되는 문제가 해결되었습니다. (I7ba84, b/418153031)

종속 항목 업데이트

버전 1.0.0-alpha06

2025년 7월 30일

androidx.navigation3:navigation3-*:1.0.0-alpha06이 출시되었습니다. 버전 1.0.0-alpha06에는 이 커밋이 포함되어 있습니다.

종속 항목 업데이트

버전 1.0.0-alpha05

2025년 7월 2일

androidx.navigation3:navigation3-*:1.0.0-alpha05이 출시되었습니다. 버전 1.0.0-alpha05에는 이 커밋이 포함되어 있습니다.

동작 변경사항

  • 이제 NavEntry의 상태는 NavDisplay에 전달된 현재 장식자 목록을 엄격하게 기반으로 합니다. 즉, 백 스택의 NavEntry 상태를 유지하려면 여러 백 스택의 경우 백 스택을 따라 데코레이터를 스왑해야 합니다. 그렇지 않으면 항목이 스왑되는 대신 팝된 것처럼 상태가 삭제됩니다. (I7a759, b/428033667)

버전 1.0.0-alpha04

2025년 6월 18일

androidx.navigation3:navigation3-*:1.0.0-alpha04이 출시되었습니다. 버전 1.0.0-alpha04에는 이러한 커밋이 포함되어 있습니다.

API 변경사항

  • 이제 NavEntry.content이 비공개로 설정되었습니다. NavEntry 콘텐츠를 호출하려면 더 이상 호출에 key 매개변수가 필요하지 않은 새 NavEntry.Content() API를 호출하세요. (Icd0fd, b/420991203)
  • 이제 NavEntry.key가 비공개 필드입니다. NavEntry 및 관련 상태는 새로운 contentKeyFactory 람다에서 생성되고 NavEntry.key에서 생성된 저장 가능한 해시로 기본 설정되는 새로운 contentKey 필드로 식별해야 합니다. (I81a6c, b/422001357, b/420991203 I2d7d4, b/420991203, b/422841812)

종속 항목 변경사항

  • 이제 Navigation3가 새로운 androidx.navigationevent.compose 아티팩트에 종속됩니다.

버전 1.0.0-alpha03

2025년 6월 4일

androidx.navigation3:navigation3-*:1.0.0-alpha03이 출시되었습니다. 버전 1.0.0-alpha03에는 이 커밋이 포함되어 있습니다.

버그 수정

  • Navigation3는 더 이상 스왑되고 다른 backStack 인스턴스로 대체된 backStacks의 데코레이터 상태를 지우지 않습니다. (I28a42, b/415076044)

버전 1.0.0-alpha02

2022년 5월 23일

androidx.navigation3:navigation3-*:1.0.0-alpha02이 출시되었습니다. 버전 1.0.0-alpha02에는 이 커밋이 포함되어 있습니다.

버그 수정

  • 동일한 속성 값을 가진 여러 데이터 클래스의 충돌을 일으키는 SavedStateNavEntryDecorator 문제가 수정되었습니다. (b/418070648, Iff4775)
  • 명시적 종속 항목을 선언하지 않고 실행할 때 비정상 종료를 일으키는 누락된 클래스 문제가 수정되었습니다. (b/419049149, I4b4ed)

버전 1.0.0-alpha01

2025년 5월 20일

androidx.navigation3:navigation3-*:1.0.0-alpha01이 출시되었습니다. 버전 1.0.0-alpha01에는 이 커밋이 포함되어 있습니다.

새로운 기능

Navigation3은 Jetpack Compose 인앱 탐색을 처리하기 위해 특별히 빌드된 새로운 탐색 라이브러리입니다. androidx.navigation3.runtime 아티팩트는 빌드 블록을 제공하고 androidx.navigation3.ui 아티팩트는 NavDisplay API를 통해 UI 레이어를 제공합니다. 개발자는 NavDisplay 컴포저블 함수에 자체 상태를 직접 제공할 수 있으며, 개발자 상태의 변경에 따라 콘텐츠가 변경됩니다.

@Serialiable object Home : NavKey
@Serialiable object Chat : NavKey

val backStack = rememberNavBackStack(Home)

NavDisplay(backStack, entryProvider = entryProvider {
  entry<Home> {
    Column {
      Text(Home)
      Button(onClick = { backStack.add(Chat) } ) {
        Text(Go to Chat)
      } 
    }
  }
  entry<Chat> { /* My Composable Content */ }
})

자세한 내용은 Navigation3 가이드를 참고하세요.