반응형
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 를 업데이트 시켜줌으로써 해결할 수 있다.
 

Android Build Tree 확인

Flutter를 사용하여 개발하다 보면 Package 사용은 필수적이다.다음 사이트를 통해 추가하지만 Kotlin 버전의 충돌과 해당 Package에 포함된 다양한 Library에 따라 오류가 발생할 수 있다.  The official repo

p-coding.tistory.com


 

그래도 해결되지 않는다면

Flutter 프로젝트 Root/android 경로에 제일 하단부분에 setting.gradle으로 따로 설정하게끔 되어 있다.

( 다음 파일이 있다면 여기서 수정하지 않을 시 처음 설명드렸던 방법으로 하더라도 해결되지 않는다. )

다음과 같이 변경해 주면 된다.

Flutter 프로젝트 root 경로/android/setting.gradle

 

반응형

+ Recent posts