[flutter] Android toolchain 설정 오류 해결

nzero·2024년 1월 16일
0

Solution

sdkman을 사용하는 경우 flutter에 jdk 경로를 직접 설정한다.
If you are versioning Java with sdkman, set the JDK directory directly for Flutter.

flutter config --jdk-dir /Users/[username]/.sdkman/candidates/java/current



Symptom

flutter doctor 명령어 실행 시 Android toolchain에 관련된 에러가 계속 반환됐다. licenses 관련해서는 commandline tool을 이용하여 직접 license가 accept된걸 확인했는데도 아래와 같은 오류가 반복되었다.

두 시간 넘게 인텉넷을 뒤지며 다양한 해결책들을 시도해보았으나 어느 하나 내 문제에 들어맞는게 없었다. 여러개 중에 몇개를 말하자면

  1. java 버전 8, 21 등으로 변경
  2. Andorid studio에서 sdk tools 및 command line tools 등등 버전 변경해가며 재설치
  3. Android studio 번들 java 링킹 설정 등등..



이제 java 버전도, license도 한번에 해결했던 방법을 알아보자.

flutter config의 help를 확인해보면 아래 순서대로 jdk를 확인한다.
1. 안드로이드 스튜디오 내에 존재하는 번들
2. 환경 변수에 설정된 JAVA_HOME



나는 java 버전 관리를 위해 sdkman을 사용하며, 환경 변수 내에 JAVA_HOME은 아래와 같이 설정되어 있다.

안드로이드 스튜디오에 설치된 번들에 문제가 있어 두번째인 환경변수에 접근이 안됐는지는 알 수 없지만... JAVA_HOME을 flutter의 config에 직접 설정했더니 문제가 깔끔하게 해결됐다.

0개의 댓글