본문 바로가기

안드로이드 스튜디오/flutter

Flutter 프로젝트 빌드 오류 해결기 - JDK 설정 문제 해결 과정

1. 문제 상황

Flutter 프로젝트를 안드로이드 스튜디오에서 빌드하려고 했을 때 다음과 같은 오류가 발생했습니다:


Execution failed for task ':connectivity_plus'.

Could not resolve all files for configuration ':connectivity_plus'.
Failed to transform core-for-system-modules.jar...

오류 메시지를 보면 core-for-system-modules.jar 관련해서 파일 변환에 실패했다고 나옵니다. 여러 시도 끝에 결국 Flutter에서 사용하는 JDK 경로 설정 문제임을 알아냈습니다.

2. 문제 원인

Flutter는 빌드 과정에서 자바 개발 도구(JDK)가 필요합니다. 일반적으로는 시스템 환경 변수(JAVA_HOME)나 기본 JDK 설정을 통해 이 경로를 찾습니다. 하지만 제 경우에는 Flutter가 사용할 JDK 경로를 제대로 찾지 못해 빌드에 실패했던 것입니다.

3. 해결 방법

Flutter에서 빌드에 사용할 JDK 경로를 명시적으로 설정해주어야 했습니다. 이를 위해 다음 명령어를 사용했습니다:


flutter config --jdk-dir /Library/Java/JavaVirtualMachines/jdk-17.jdk/Contents/home

이 명령어는 Flutter가 JDK 17을 사용할 수 있도록 경로를 지정해주는 것입니다. 이 후에 빌드를 시도하니 정상적으로 진행되었습니다.

4. 해결 과정 요약

  1. Flutter 프로젝트 빌드 시 오류 발생: JDK 관련 파일을 찾지 못해 빌드가 실패.
  2. 환경 변수 설정 확인: JAVA_HOME을 제대로 설정했지만 Flutter가 이를 인식하지 못함.
  3. 명시적으로 JDK 경로 설정: flutter config --jdk-dir 명령어를 통해 JDK 경로를 지정.
  4. 빌드 성공: 설정 후 빌드가 정상적으로 진행됨.

5. 결론

Flutter 프로젝트를 빌드할 때 JDK 경로를 명시적으로 지정해주는 것이 중요할 수 있습니다. 특히 맥OS 환경에서 여러 JDK 버전이 설치되어 있을 경우 Flutter가 정확한 JDK를 찾지 못해 문제가 발생할 수 있습니다. 이럴 때는 flutter config --jdk-dir 명령어로 직접 경로를 설정해주는 것이 해결책이 될 수 있습니다.

이번 경험을 통해 개발 환경 설정의 중요성을 다시 한 번 느꼈습니다. 처음부터 빌드 환경을 꼼꼼히 체크하는 습관을 길러야겠습니다.