해결된 질문
작성
·
150
0
안녕하세요, 강의를 모두 수강하고 개인적으로 프로젝트를 더 확장해보고 싶어서, 개인 공부를 시작하게 되었습니다.
그러다가 프로젝트에 외부 패키지를 추가해야 하는 경우가 생겼는데, 이 때 패키지 버전은 어떻게 지정해야 하는 지 궁금합니다.
puspeck.yaml에서 예를 들면, 패키지 버전 앞에 붙이는 ^가 어느 정도 범위를 지정해줘서 해결하는 것으로 알고 있습니다.
그렇다면,
google_maps_flutter나 location 같은 외부 패키지를 추가 설치할 때, 버전을 어떻게 지정해야 충돌이 나지 않을까요?
프로젝트가 코틀린 버전 1.7.10, gradle 버전 7.5 인것으로 아는데, 충돌 없이 더 최신 버전으로 변경 할 수 있을까요?
왜냐하면 강의에서 제공하는 프로젝트에서 최신 버전의 google_maps_flutter와 location 패키지를 설치하고, 사용하려고 하니 아래와 같은 에러가 발생했습니다.
그래서, 코틀린 버전을 1.9로 올리고, 그에 맞게 gradle 버전을 수정한 다음, 기존 파일을 지운 다음에, Sync를 맞추니까
Module was compiled with an incompatible version of Kotlin. The binary version of its metadata is 1.9.0, expected version is 1.7.10 같은 에러가 발생합니다.
그래서 인터넷에서 찾아보니, 저장되어 있는 캐시 때문에 아직 1.7.10 버전으로 인식한다고 해서, .gradle 파일이랑 이것저것 삭제하고 다시 빌드했는데도, 변경된 코틀린 버전을 인식을 못하고 계속 무한루프에 빠지는 등 상황 해결이 되지 않았습니다.
어떻게 해야 할까요? 추가 설치하고 싶은 외부 패키지를 일일히 버전을 낮춰야 하나요? 아니면, 안드로이드로 컴파일하는 코틀린 버전을 상승시킬 수 있는 방법은 없는걸까요?
답변 1
1
강의 프로젝트에 google_maps_flutter 와 location 패키지를 도입하기 위해서
코틀린 버전을 업그레이드 하시려는거죠?
android/build.gradle 파일을 아래와 같이 수정합니다.
buildscript {
ext.kotlin_version = '1.9.0'
gradle 버전은 따로 수정하지 않았습니다.
google_maps_flutter 와 location 패키지를 최신 버전으로 설치하고
location 패키지가 정상적으로 동작하는걸 확인했습니다.
google_maps_flutter 패키지는 app key 발행이 필요해서 확인하지는 않았습니다.
계속 문제가 발생할 경우, 프로젝트 파일을
gobackad001@gmail.com 으로 보내주시면
확인 후, 다시 답변드리겠습니다.
답변 감사합니다!
안드로이드 settings.gradle의 plugins에
가 추가로 들어가 있어 계속해서 1.7.10으로 인식했던 것 같습니다.
덕분에 해결 되었습니다!!