안드로이드 - java.lang.IllegalStateException: CompositionLocal LocalLifecycleOwner not present

이우건·2024년 6월 19일
0

안드로이드

목록 보기
16/20
val alarmState = viewModel.state.collectAsStateWithLifecycle().value

jetpack compose에서 stateFlow를 수집하는 collectAsState()에서 Composable함수의 라이프싸이클에 맞게 Flow를 수집하기 위해 collectAsStateWithLifecycle()로 변환하고 빌드를 했을 떄 다음과 같은 에러가 발생했다.

원인은

androidx-lifecycle-runtime-compose = { module = "androidx.lifecycle:lifecycle-runtime-compose", version.ref = "lifecycleRuntimeCompose" }

의 버전과 (collectAsStateWithLifecycle을 사용하기 위해 주입)

compose의 버전이 맞지 않기 때문에 발생하였다.

Lifecycle 2.8.0-alpha03 을 사용하려면 최소한 Compose UI 1.7.0-alpha05 을 사용해야 한다는 것이고

Lifecycle runtime compose의 버전과 compose의 버전 관리를 해주는 composeBom의 버전을 최신으로 업데이트하여 해결하였다.

profile
머리가 나쁘면 기록이라도 잘하자

0개의 댓글