Flutter를 사용하다보면 이 에러를 심심치 않게 볼 수 있다. Flutter와 dart는 자주 쓰이는 언어에 비해 터무니 없이 역사가 짧다. 때문에 다양한 상황에 따른 가이드라인이 많이 부족할 수 밖에 없으며 한국어 관련 문서, 블로그는 더 찾기 힘들다.
그런 상황에서 다른 분들은 삽질 하지 않았으면 한다. 먼저 다음과 같은 오류는 Flutter .yaml - Package 와 Android의 Kotlin 버전이 맞지 않아서 이다. binary version은 1.9.0인데 1.5.1으로 예상된다. 아니면 1.9.0인데 1.7.1로 예상된다.
그렇다면 kotlin과 Package 버전을 맞춰주면 해결 되는 문제이다. 실제로도 그렇다. 하지만 Package 가 어느 kotlin의 어느 버전으로 사용하고 있는지 확인 하는 것보단 프로젝트의 Android 버전을 확인하는 것이 쉽기 때문에 사람들은 이 코드를 많이 봤을 것이다.Flutter 프로젝트 root 경로/android/build.gradle 물론 단순한 Package 하나의 문제인 경우 위 코드로 해결된다. 하지만 특정 Package 를 사용해야 하고 그것을 포함한 여러 Package 를 사용해야 하는 경우 요구(권장)하는 Kotlin 또는 Package 가 지원 가능한 Kotlin의 버전이 서로 맞지 않기 때문에 다음과 같은 오류가 발생할 수 있다.
다음과 같은 경우 BuildTree를 통해 어떤 Package 의 버전이 다르고 최종적으로 어떤 버전으로 Build되었는지 알 수 있다. BuildTree에서 확인하여 버전이 다른 Package 를 업데이트 시켜줌으로써 해결할 수 있다.