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

Java 21을 사용 중일 때, Flutter 프로젝트가 Java 17만 지원하는 경우 해결 방법.
문제 상황
- 현재 내 시스템의 Java 버전: Java 21
- 깃랩에 올려진 프로젝트에서 사용 가능한 Gradle 버전: Java 17까지만 호환
- 그래서 Flutter 빌드 시 Kotlin 컴파일 오류 발생 (Unresolved reference: Registrar 등)
✅ 해결 방법
1. Java 17 다운로드
Flutter 프로젝트와 호환되는 Java 17을 설치해야 한다.
- 운영체제: 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 호환성 오류 없이 빌드가 잘 된다 !
'개발 > Android' 카테고리의 다른 글
| [Flutter] 푸시알림 foreground와 background에서 ref.invalidate() 사용 시 새로고침 오류 해결하기 (0) | 2025.04.21 |
|---|---|
| [Flutter] 영상 플레이어 — VideoPlayer에서 BetterPlayer로, 그리고 비율 문제 해결 (0) | 2025.04.17 |
| [Flutter] Riverpod 상태관리 - ConsumerStatefulWidget 가이드 (0) | 2025.04.02 |
| [Flutter] Riverpod 상태관리 - watch vs read 차이 (0) | 2025.04.02 |
| [Flutter] Riverpod 상태관리 - ConsumerWidget 가이드 (0) | 2025.04.02 |