새로운 기능을 개발하다 보니 모듈들끼리 상호 참조에 걸리게 되었다.
circular dependency
다음과 같은 문구가 뜨면서 앱이 실행 되지 않는다.
나같은 경우 Hilt를 사용하는 부분에서 발생하였고 JVM에서 data class를 호출하는 부분에서 발생하는 것으로 예상되었다.
상호참조의 경우 정확한 에러지점을 알려주지 않기때문에 해결하기 쉽지 않다.
A가 B를 참조하고있고, B가 A를 참조하고 있기 때문에 발생한다.
A를 빌드하려면 B를 빌드해야하고 B를 빌드하려면 A를 빌드해야한다.
역으로 A가 죽으려면 메모리에서 내려야 하는데 B가 걸려있어 내리지 못하고 B를 죽이려면 A가 걸려있어서 아무것도 죽이지 못하고 루프가 돌아버린다.