본문 바로가기
Flutter & Dart

Flutter & Dart - SDK 업데이트이 후 발생한 이슈..

by 방정맞은사람 2025. 3. 5.

Flutter 개발 중 발생한 이슈 정리 및 해결 방법

Flutter 프로젝트를 개발하면서 발생한 다양한 문제들과 그 해결 방법을 정리했습니다. 같은 문제를 겪는 분들에게 도움이 되길 바랍니다.


1. Java 버전 관련 경고 해결

문제 상황

Flutter 프로젝트를 빌드하는 과정에서 다음과 같은 경고가 발생했습니다:

warning: [options] source value 8 is obsolete and will be removed in a future release
warning: [options] target value 8 is obsolete and will be removed in a future release

내 프로젝트의 build.gradle에서 Java 17을 사용하도록 설정해두었음에도 불구하고, 위와 같은 경고가 발생했습니다.

해결 방법

Flutter 프로젝트 내 모든 패키지에서 사용하는 Java 버전을 한 번에 변경하기 위해 gradle.properties 및 build.gradle을 확인하고 다음과 같이 수정했습니다.

1. android/gradle.properties 수정

org.gradle.java.home=/path/to/java17

2. android/app/build.gradle 수정

android {
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_17
        targetCompatibility JavaVersion.VERSION_17
    }
}

3. gradle-wrapper.properties 확인

distributionUrl=https\://services.gradle.org/distributions/gradle-8.0-all.zip

Gradle 버전이 낮다면 최신 버전으로 업데이트가 필요할 수도 있습니다.

위 설정을 적용한 후, gradlew clean 및 flutter clean을 실행하면 정상적으로 적용됩니다.


2. flutterfire_cli 설치 후 실행되지 않는 문제

문제 상황

Flutter 프로젝트에서 Firebase 설정을 위해 flutterfire_cli를 설치했지만, 실행 시 다음과 같은 오류가 발생했습니다:

flutterfire_cli: command not found

해결 방법

  1. flutterfire_cli는 $HOME/.pub-cache/bin에 설치되므로, PATH 환경 변수에 해당 경로가 포함되어 있는지 확인해야 합니다.
  2. .zshrc, .bashrc, .bash_profile 파일에 다음 내용을 추가:
export PATH="$PATH:$HOME/.pub-cache/bin"
  1. 터미널을 재시작하거나, 다음 명령어를 실행하여 변경 사항을 적용:
source ~/.zshrc  # (혹은 source ~/.bashrc)
  1. which flutterfire 명령어를 실행하여 flutterfire_cli의 경로가 제대로 등록되었는지 확인.
  2. 그래도 실행되지 않는다면, flutterfire_cli를 재설치:
dart pub global deactivate flutterfire_cli
dart pub global activate flutterfire_cli

3. iOS 빌드 오류 (firebase_core 최소 iOS 버전 요구 사항 문제)

문제 상황

Flutter 프로젝트를 iOS에서 실행하려고 할 때, pod install 실행 중 다음과 같은 오류가 발생했습니다:

Error: The plugin "firebase_core" requires a higher minimum iOS deployment version than your application is targeting.

해결 방법

Firebase 관련 패키지(firebase_core)가 최소 iOS 13.0 이상을 요구하므로, Podfile 및 Xcode 프로젝트 설정을 업데이트해야 합니다.

1. ios/Podfile 수정

platform :ios, '13.0'

2. ios/Runner.xcworkspace 수정

  1. Xcode에서 Runner.xcworkspace를 엽니다.
  2. TARGETS > Runner > Deployment Info에서 iOS 버전을 13.0 이상으로 변경합니다.

3. 캐시 삭제 및 재설치

rm -rf ios/Pods ios/.symlinks ios/Flutter/Flutter.framework ios/Flutter/Flutter.podspec
flutter clean
pod install --repo-update

이제 다시 flutter run을 실행하면 정상적으로 빌드가 완료됩니다.


4. Android Emulator 충돌 (Pixel 8 API 35 is already running 오류)

문제 상황

에뮬레이터 실행 중 다음과 같은 오류가 발생했습니다:

Pixel 8 API 35 is already running. If that is not the case, delete /Users/username/.android/avd/Pixel_8_API_35.avd/*.lock and try again.

해결 방법

  1. 먼저, 실행 중인 에뮬레이터가 있는지 확인:
adb devices
  1. 실행 중이라면 강제 종료:
adb kill-server
adb start-server
  1. .lock 파일 삭제 후 에뮬레이터 재실행:
rm -rf ~/.android/avd/Pixel_8_API_35.avd/*.lock
flutter emulators --launch <에뮬레이터_이름>

위 방법으로 해결되지 않는다면, AVD를 삭제하고 다시 생성하는 것도 방법입니다:

flutter emulators --delete <에뮬레이터_이름>
flutter emulators --create

마무리

Flutter 프로젝트를 진행하면서 발생했던 다양한 문제들을 정리해보았습니다. 대부분의 문제는 환경 설정 관련 이슈에서 발생했으며, PATH 설정, iOS 최소 버전, Gradle 설정 등을 꼼꼼히 확인하는 것이 중요하다는 것을 다시 한번 깨닫게 되었습니다.

앞으로도 개발 중 발생하는 문제들을 꾸준히 기록하고 공유할 예정이니, 도움이 되셨다면 참고 부탁드립니다!