고갱
[Flutter] minSdkVersion 오류 해결 본문
❗오류 발생
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 사양을 항상 확인하여 오류를 고쳐나가면 된다.
🤔 해결법
늘 그렇듯이 오류 원인을 찾았다면 해결법은 간단하다.

앱 단위의 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이 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
'앱 개발 > Flutter' 카테고리의 다른 글
| [Flutter] 공무원 공무 처리 서비스 개발 #4 (0) | 2024.11.10 |
|---|---|
| [Flutter] Firebase Auth + Kakao 연동 (0) | 2024.11.09 |
| [Flutter] 공무원 공무 처리 서비스 개발 #3 (0) | 2024.11.07 |
| [Flutter] 공무원 공무 처리 서비스 개발 #2 (0) | 2024.11.06 |
| [Flutter] compileDebugKotlin 오류 해결 (0) | 2024.11.02 |
