1. Navigation Compose 2.8.9 업데이트 개요
Android Jetpack의 Navigation Compose 2.8.9 버전이 2025년 3월 12일에 출시되었습니다.
이번 업데이트에서는 몇 가지 중요한 버그 수정이 이루어졌으며, 특히 딥 링크(Deep Link) 관련 동작이 개선되었습니다.
이번 글에서는 2.8.8에서 2.8.9로 업데이트하면서 변경된 내용과 코드 적용 방법을 자세히 알아보겠습니다.
2. Navigation Compose 2.8.9 주요 변경 사항
🔹 1) 딥 링크 일치 로직 개선
이전 버전에서는 일부 딥 링크 조건이 충족되지 않아도 일치하는 것으로 간주되는 문제가 있었습니다. 하지만 2.8.9에서는 NavDeepLink의 URI, Action, MIME 유형이 정확히 일치해야만 탐색이 가능하도록 변경되었습니다.
✅ 변경 전 (2.8.8 이하)
val deepLink = navController.createDeepLink()
.setDestination(R.id.profile_dest)
.setAction(Intent.ACTION_VIEW) // 액션이 다르면 일치하지 않아야 하지만 일부 경우 일치로 간주됨
.setMimeType("image/*") // MIME 타입이 다를 경우에도 동작할 가능성이 있음
.createPendingIntent()
위 코드에서 setAction(Intent.ACTION_VIEW)과 setMimeType("image/*")가 정확히 일치하지 않아도 일부 조건만 충족하면 탐색이 가능했던 문제가 있었습니다.
✅ 변경 후 (2.8.9)
val deepLink = navController.createDeepLink()
.setDestination(R.id.profile_dest)
.setAction(Intent.ACTION_VIEW) // 정확한 일치 필요
.setMimeType("image/*") // 정확한 일치 필요
.createPendingIntent()
이제 모든 조건이 완전히 일치해야만 탐색이 동작합니다. 따라서, 기존 코드에서 예상치 못한 네비게이션 실패가 발생할 가능성이 있으므로, 반드시 확인 후 업데이트해야 합니다.
🔹 2) navigate("profile/{userId}") 경로에서 매개변수 정확한 일치 필요
2.8.9 버전에서는 navigate("profile/{userId}")와 같은 경로에서 userId 매개변수의 값이 정확히 일치해야만 탐색이 성공적으로 이루어집니다. 이전 버전에서는 값이 일치하지 않아도 탐색이 성공하는 경우가 있었으나, 2.8.9에서는 정확한 매개변수 값이 필요합니다.
✅ 변경 전 (2.8.8 이하)
navController.navigate("profile/{userId}") // userId 값이 정확히 일치하지 않아도 탐색이 가능
✅ 변경 후 (2.8.9)
navController.navigate("profile/{userId}") // userId 값이 정확히 일치해야만 탐색이 가능
이 변경 사항은 기존 코드에서 매개변수 값이 올바르게 전달되는지 점검해야 함을 의미합니다.
userId 값이 정확히 전달되고 있는지 확인 후 업데이트를 진행해야 합니다.
3. Navigation Compose 2.8.9 적용 방법
1️⃣ Gradle 파일에서 종속성 업데이트
build.gradle.kts (Module: app)에서 다음과 같이 Navigation Compose 버전을 2.8.9로 업데이트합니다.
dependencies {
implementation("androidx.navigation:navigation-compose:2.8.9")
}
2️⃣ 기존 코드 점검 및 수정
✅ 딥 링크 관련 코드가 정확한 일치 조건을 충족하는지 점검
- setAction(), setMimeType()을 설정한 경우 반드시 정확한 값이 사용되었는지 확인
- navigate("profile/{userId}") 형태의 네비게이션 경로가 정상적으로 작동하는지 점검
✅ 실제 앱에서 탐색 동작을 테스트
- 업데이트 후 실제 디바이스 또는 에뮬레이터에서 딥 링크를 통한 탐색이 정상적으로 작동하는지 확인
4. 결론
Navigation Compose 2.8.9 업데이트는 딥 링크의 일치 조건을 보다 엄격하게 적용하여, 예기치 않은 탐색 오류를 방지할 수 있도록 개선되었습니다. 이로 인해 일부 기존 코드에서 탐색이 실패할 수도 있으므로, 반드시 업데이트 후 테스트를 진행하는 것이 중요합니다.
📌 2.8.9 업데이트 핵심 요약:
✅ NavDeepLink가 URI, Action, MIME 유형이 정확히 일치해야 탐색 가능
✅ 기존 코드에서 탐색이 정상적으로 동작하는지 반드시 확인😊
'Updates.' 카테고리의 다른 글
🚀 Jetpack Compose BOM 2025.03.00 업데이트 정리 및 변경 사항 분석 (0) | 2025.03.25 |
---|---|
Jetpack Compose UI 1.7.8 업데이트 상세 분석 (0) | 2025.02.15 |
Jetpack Compose 1.8.0-beta02 업데이트 상세 분석 (1) | 2025.02.14 |
Jetpack Compose 1.8.0-alpha08 업데이트 상세 분석 (1) | 2025.01.22 |