[Compose navigation Bug] java.lang.ArrayIndexOutOfBoundsException: length=13; index=13

2021. 12. 21. 14:45Android/Error 대응

이슈 내용 : NavGraphBuilder.composable 이 13개 이상일 경우 발생하는 이슈 

 

java.lang.ArrayIndexOutOfBoundsException: length=13; index=13
        at androidx.collection.SparseArrayCompat.valueAt(SparseArrayCompat.java:379)
        at androidx.navigation.NavController.setGraph(NavController.kt:948)
        at androidx.navigation.NavController.setGraph(NavController.kt:95)
        at androidx.navigation.compose.NavHostKt.NavHost(NavHost.kt:112)
        at androidx.navigation.compose.NavHostKt$NavHost$4.invoke(Unknown Source:13)
        at androidx.navigation.compose.NavHostKt$NavHost$4.invoke(Unknown Source:10)
        at androidx.compose.runtime.RecomposeScopeImpl.compose(RecomposeScopeImpl.kt:140)
        at androidx.compose.runtime.ComposerImpl.recomposeToGroupEnd(Composer.kt:2156)
        at androidx.compose.runtime.ComposerImpl.skipToGroupEnd(Composer.kt:2422)
        at androidx.compose.material.MaterialThemeKt.MaterialTheme(MaterialTheme.kt:83)

 

 

원인 : 

androidx.navigation:navigation-compose:2.4.0-alpha07

"2.4.0-alpha07" 버전 라이브러리 이슈

 

해결 방법 : 

 

라이브러리를 최신 버전으로 업데이트 해주면 된다.

최신 버전 참고 : https://developer.android.com/jetpack/androidx/releases/navigation?hl=ko

 

Navigation  |  Android 개발자  |  Android Developers

Navigation Navigation은 Android 애플리케이션 내에서 '대상' 사이를 탐색하는 프레임워크로, 대상이 Fragment, Activity 또는 기타 구성요소로 구현되었는지에 관계없이 일관된 API를 제공합니다. 최근 업데

developer.android.com

 

 

 

참고 : https://stackoverflow.com/questions/68838172/composable-cannot-exceed-13-under-compsoe-navhost