minSdkVersion (firebase_auth) 관련 에러 발생하는 분들 참고하세요
Flutter version 이 3.22 버전을 사용 중인데, minSdkVersion 에러가 나는 분들이 있을 것입니다. [에러 상황]firebase 프로젝트 준비 및 google-services.json 주입을 마치고, flutter 명령어로 first base에 필요한 패키지를 다운로드 받은 이후의 상황입니다. main.dart 를 실행하는데 아래와 같은 에러가 발생하는 분들은 주목하세요.Manifest merger failed : uses-sdk:minSdkVersion 21 cannot be smaller than version 23 declared in library [:firebase_auth] 위와 같은 에러가 발생하는 분들은 아마 앱 레벨의 build.gradle이 이와 같이 설정되어있을 겁니다.defaultConfig {
applicationId = "com.example.bucket_list_with_firebase"
minSdk = flutter.minSdkVersion
targetSdk = flutter.targetSdkVersion
versionCode = flutterVersionCode.toInteger()
versionName = flutterVersionName
}위 메시지를 해석하면 firebase_auth가 minSdkVersion이 23 이상을 지원하는데, 현재 너의 프로젝트의 minSdkVersion은 21이 되어있어서 지원이 불가능하다는 메시지입니다. [에러 원인]이는 flutter sdk에서 android의 minSdkVersion이 21로 설정되어있기 때문에 그렇습니다. 실제로 강의자료에 나와있듯이 flutter sdk의 flutter.groovy 파일을 살펴보면class FlutterExtension {
public final int compileSdkVersion = 34
public final int minSdkVersion = 21
// 다른 변수들
}이처럼 21 버전을 상수값으로 사용하고 있는 것을 알 수 있습니다. 하지만 firebase의 auth 기능을 사용하려면 minSdkVersion이 23이어야 합니다. [해결 방법]이를 해결하기 위한 방법은 터미널 로그에 잘 표시되어있습니다.The plugin firebase_auth requires a higher Android SDK version.
Fix this issue by adding the following to the file
android {
defaultConfig {
minSdkVersion 23
}
}
Following this change, your app will not be available to users running Android SDKs below 23.위에 로그에서 recommend 하듯이 내 flutter project의 minSdkVersion을 바꿔주면 해결됩니다. flutter.minSdkVersion 대신 상수로 23 값을 입력하면 됩니다.defaultConfig {
// applicationId
minSdk = 23
// 다른 설정 값들
} [해결 완료 후 동작 확인]아래와 같이 main.dart를 실행하면 로그인 화면이 정상적으로 보여져야 합니다.