고갱

[Flutter] minSdkVersion 오류 해결 본문

앱 개발/Flutter

[Flutter] minSdkVersion 오류 해결

주인장 고갱 2024. 11. 8. 18:17

❗오류 발생

uses-sdk:minSdkVersion 21 cannot be smaller than version 23 declared in library [!firebase_auth]

오류 사진

 

 

firebase_auth 패키지를 설치하고 Build 를 누르고 나니 위와 같은 오류가 생겼다.

항상 그렇듯이 오류 내용은 늘 직관적이어서 참 좋은 것 같다.

 

firebase_auth에서 SDK 23을 요구하는데 본 프로젝트에서는 최소 SDK 버전을 21로 선언해서 발생한 문제였다.

 

이러한 오류는 firebase_auth에만 국한되지 않고 모든 패키지에서 요구하는 최소 SDK 사양을 항상 확인하여 오류를 고쳐나가면 된다.

 

 

 

🤔 해결법

늘 그렇듯이 오류 원인을 찾았다면 해결법은 간단하다.

app:build.gradle

 

앱 단위의 build.gradle 파일을 들어가면 flutter.minSdkVersion 으로 minSdk가 지정되어 있는 것을 볼 수 있다.

물론, 간단하게 해결하기 위해서 flutter.minSdkVersion 을 23으로 바꿔도 되지만, 나는 좀 다르게 해결하였다.

 

(간단하게 해결하려면 23으로만 바꾸면 끝난다.)

 

 

 

🤗 또 다른 해결법

어차피 내가 만드는 모든 프로젝트는 기본적으로 Firebase를 사용할 것 같았고, 애초에 23 이상의 점유율은 98.6% 에 달하는데, 굳이 21까지 지원을 하지 않아도 될 것 같았다.

(21은 99.6%의 점유율에 달한다.)

 

그렇다면 flutter.minSdkVersion 으로 어딘가에 선언되어있는 상수값만 바꿔주면 앞으로 생성하는 모든 프로젝트가 해당 상수값을 기본적으로 따라갈 것이다.

 

조금 검색해보았더니 flutter.minSdkVersion은 

[플러터SDK경로]\packages\flutter_tools\gradle\src\main\groovy\flutter.groovy

에 위치하고 있다는 점을 찾을 수 있었다.

(조금만 검색해도 나오는 점이라 참고 자료로 기재하진 않겠다.)

 

해당 파일 내부에 선언된 minSdkVersion

 

해당 파일을 열어보면 다음과 같이 minSdkVersion이 21로 선언되어있는 것을 볼 수 있는데,

이를 23으로 바꿔주면 된다.

바꿔준 모습

 

이렇게 바꾼 이후에 저장하고 다시 Build를 눌러보면 우리가 원하던 그 모습이 나오게 된다.

빌드 완료 및 실행 화면

 

 

 

 

💡 참고 자료

안드로이드 SDK 버전별 점유율 조회

 

Android API Levels

A quick reference table of Android versions with SDK & API levels, version codes, codenames, cumulative usage, and more.

apilevels.com