Flutter Unable to find bundled Java version

yweywe·2023년 1월 28일
0

환경

Flutter : 3.7.0
Android Studio : Electric eel 2022.1.1

개요

Flutter 3.3 과 안드로이드 스튜디오 돌핀을 사용하다 오랜만에 업데이트를 실행했다. 그리고는 습관적으로 flutter doctor를 돌렸다.

[!] Android Studio (version 2022.1)
✗ Unable to find bundled Java version.

안된다.

고장나지 않으면 고치지 말아야 했는데. 아무튼. 이미 일어난 일이니까 해결방법을 찾아봤다.

방법

나는 맥에서 jetbrain toolbox을 통해 android studio를 관리한다. 맥과 toolbox를 사용하지 않는다면 동작하지 않을 가능성이 높다.

우선 toolbox->android studio -> settings -> install location에서 버전을 확인한다.

내 경우에는 다음 경로로 이동하면 됐다.

cd ~/Library/Application\ Support/JetBrains/Toolbox/apps/AndroidStudio/ch-0/{ 버전 }/Android\ Studio.app/Contents/

ls를 해보면 아래처럼 나올 것이다

여기서 sudo ln -s jbr jre를 실행하고 flutter doctor를 해보면 문제가 해결된다.

과정

우선 한글로 된 자료 를 따라했는데 안된다... 그래서 프스팅에 나온 커밋을 살펴봤는데 21년도였다.

그래서 최신 master에서 같은 경로의 파일로 가봤다. 지난주에 커밋. 희망이 보였다.

21년도 커밋
globals.fs.path.join(directory, 'jre', 'jdk', 'Contents', 'Home') :

23년도 커밋
globals.fs.path.join(directory, 'jre', 'jdk', 'Contents', 'Home') :
globals.fs.path.join(directory, 'jre', 'Contents', 'Home') :

큰 의미는 없었다...

일단 포스팅을 따라했다. 나는 jetbrain toolbox를 사용하고 있어서/Applications/JetBrains Toolbox/Android Studio.app/ 로 들어갔다.

/jre폴더가 보여야 하는데 없고, content 아래에 있어야할 /Home 도 없다. 그런데 github issue가 있어서 읽어보니 jre 디렉토리를 만들고 jbr 의 내용물을 전부 옮기면 된단다.

위 사진을 보면 알겠지만 jbr 디렉토리도 없다! 있는게 없다!

잠깐 쉬다보니 툴박스를 사용한다는 것이 떠올랐다. 그래서 툴박스를 열고 안드로이드 설치 경로를 확인해봤다.

찾았다!

엄청 돌아가는 느낌이지만 일단 고쳐야 하니까. github issue 에서는 복사하라고 했지만 나는 심볼릭 링크로 해결할 생각이다.

Android Studio.app/Contents경로에서 sudo ln -s jbr jre를 실행했다. 최신 버전에서jdkjbr로 대체되었나보다.

해결

참고자료

https://github.com/flutter/flutter/issues/118502

https://terry1213.github.io/flutter/flutter-unable-to-find-bundled-java-version/

https://github.com/flutter/flutter/blob/3c72ef374d748ef07bb2f6781161fa6bcb0b4289/packages/flutter_tools/lib/src/android/android_studio.dart#L465

https://github.com/flutter/flutter/blob/master/packages/flutter_tools/lib/src/android/android_studio.dart#L447

profile
Article worth reading

0개의 댓글