avatar

M1 Mac Flutter doctor --android-licenses LinkageError 해결 방법

2024. 10. 13.
2

오류 상황

오류 상황오류 상황

오류: 기본 클래스 com.android.sdklib.tool.sdkmanager.SdkManagerCli을() 로드하는 LinkageError가 발생했습니다.
	java.lang.UnsupportedClassVersionError: com/android/sdklib/tool/sdkmanager/SdkManagerCli has been compiled by a more recent version of the Java Runtime (class file version 61.0), this version of the Java Runtime only recognizes class file versions up to 55.0
Android sdkmanager tool was found, but failed to run
(/Users/lime/Library/Android/sdk/cmdline-tools/latest/bin/sdkmanager): "exited
code 1".

M1 Mac에서 플러터 프로젝트 세팅 중 위와 같은 에러가 발생했습니다.
SDK Command-line Tools를 latest로 설치했을 때 이러한 문제가 발생하더라고요.
기존에 낮은 버전의 JDK를 사용 중이어서 SDK와 충돌을 일으켰던 것입니다.
(SDK Command-line Tools를 latest로 설치할 경우 경우 JDK 19버전을 사용하게 되어 충돌하게 된다고 함)

혹시나 이런 문제를 겪는 분들이 있을 것 같아 해결 방법을 공유해보도록 하겠습니다.

해결 방법

8.0 버전 설치

SDK ToolsSDK Tools

먼저 SDK Tools 버전을 latest가 아닌 8.0으로 설치합니다.

8.0을 latest로 이동

cd ~/Library/Android/sdk/cmdline-tools

8.0 버전으로 설치가 완료되면 cmdline-tools 경로로 이동합니다.

rm -rf latest

latest 디렉터리를 삭제합니다.

mv 8.0 latest

8.0을 latest 디렉터리로 이동합니다.

flutter-doctor 실행flutter-doctor 실행

문제가 해결되었습니다 🎉