개발/Android

[Flutter 오류 해결] Gradle & Java 버전 호환 이슈 해결 방법 (feat. Java 21 → 17 다운그레이드)

y_lime 2025. 4. 17. 08:58

 

🛠️ Flutter 프로젝트를 Git 저장소에서 가져온 뒤 초기 빌드 시, 다음과 같은 오류가 발생할 수 있다:

Java 21을 사용 중일 때, Flutter 프로젝트가 Java 17만 지원하는 경우 해결 방법.

문제 상황 

  • 현재 내 시스템의 Java 버전: Java 21
  • 깃랩에 올려진 프로젝트에서 사용 가능한 Gradle 버전: Java 17까지만 호환
  • 그래서 Flutter 빌드 시 Kotlin 컴파일 오류 발생 (Unresolved reference: Registrar 등)

 

✅ 해결 방법

1. Java 17 다운로드

Flutter 프로젝트와 호환되는 Java 17을 설치해야 한다.

👉 Temurin 17 다운로드 (Adoptium)

  • 운영체제: macOS
  • 아키텍처: 본인의 맥이 Apple Silicon(M1/M2/M3) 이면 aarch64, Intel이면 x64 선택
    (확인 명령어: uname -m → 결과가 arm64면 Apple Silicon)

설치가 완료되면 아래 경로에 Java 17이 설치된다:

/Library/Java/JavaVirtualMachines/temurin-17.jdk

2. 설치된 Java 버전 확인

/usr/libexec/java_home -V

결과 예시:

Matching Java Virtual Machines (2):
21.0.4 (arm64) "Eclipse Adoptium" - "OpenJDK 21.0.4" /Library/Java/JavaVirtualMachines/temurin-21.jdk/Contents/Home
17.0.15 (arm64) "Eclipse Adoptium" - "OpenJDK 17.0.15" /Library/Java/JavaVirtualMachines/temurin-17.jdk/Contents/Home

3. Flutter가 사용할 JDK 설정 변경

Flutter가 Java 21이 아닌 Java 17을 사용하도록 설정:

flutter config --jdk-dir="/Library/Java/JavaVirtualMachines/temurin-17.jdk/Contents/Home"

설정 확인은 다음 명령어로 가능:

flutter config

4. 캐시 정리 및 재빌드

flutter clean
flutter pub get
flutter run

완료!

이제 더 이상 Java/Gradle 호환성 오류 없이 빌드가 잘 된다 !