최근 진행하는 프로젝트에서 사용중인 패키지와 Flutter 모두 최신 버전으로 Migration을 하던 도중 Android Emulator에서 마주한 에러입니다.
Unresolved reference: Registrar
에러 메시지에 의하면 특정 패키지가 Native 코드와의 호환 문제가 발생했음을 의미했습니다.
즉, 패키지의 Repo에서도 비슷한 이슈를 겪는 사람이 있을 것 같다는 생각이 들어서 공식 Repo에서의 Issue를 확인해봤습니다.
역시나, 저와 비슷한 에러로 고생하는 사람들이 있었습니다.
이 에러를 해결하기 위해서 나의 개발환경 설정을 확인하기 시작했습니다. Kotlin의 버전은 패키지와 일치하는지, JDK는 어떤지 하나하나 싹싹 모아서 열심히 삽질을 했는데, 아무것도 해결되지 못했습니다.
그러다가 문득 Flutter의 버전을 업그레이드한게 원인일까라는 생각에 Flutter 공식문서에서 현재의 Stable 버전을 확인했습니다.
제가
flutter upgrade
를 통해서 3.27버전으로 올렸는데, 이는 아직 Beta channel입니다. 혹시나 하는 생각에 Flutter의 stable 버전으로 다시 downgrade를 진행했습니다.
# flutter channel stable
# flutter pub cache repair
# flutter pub get
다시 실행했는데 !!
성공했습니다..ㅎ
flutter 버전 upgrade에 현혹되지 말고 stable 버전을 사용하자.
덤으로 공식 Repo Issue에도 저의 솔루션을 댓글로 달아봤습니다.