Error Flutter - Android license status unknown.
페이지 정보
본문
플러터를 설치하려면 안드로이드 스튜디오가 먼저 설치되어 있어야 합니다. 그런데, 안드로이드 스튜디오를 설치했더라도 "Android license status unknown."와 같은 에러가 발생할 수 있습니다. 이 문제는 안드로이드 스튜디오에서 패키지를 설치하면 쉽게 해결할 수 있습니다. 안드로이드 스튜디오를 실행하세요. 그리고, Customize를 클릭하세요.
All Settings...를 클릭하세요.
좌측의 Appearance & Behavior를 확장하고, System Settings를 확장하세요. Android SDK를 클릭하고, SDK Tools 탭을 선택합니다. 우측 하단의 Hide Obsolete Packages에 체크를 해제하세요. 그러면, Android SDK Tools (Obsolete) 패키지가 보이는데요. 여기에 체크한 후 OK 버튼을 클릭해서 설치해주세요.
플러터 콘솔에서 "flutter doctor --android-licenses"를 실행해보세요. 그러면, 아래와 같이 자바 에러가 발생합니다. 에러가 발생하지 않을수도 있어요^^
C:\Users\ngmas>flutter doctor --android-licenses
Error: A JNI error has occurred, please check your installation and try again
Exception in thread "main" java.lang.UnsupportedClassVersionError: com/android/prefs/AndroidLocationsProvider has been compiled by a more recent version of the Java Runtime (class file version 55.0), this version of the Java Runtime only recognizes class file versions up to 52.0
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:756)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:473)
at java.net.URLClassLoader.access$100(URLClassLoader.java:74)
at java.net.URLClassLoader$1.run(URLClassLoader.java:369)
at java.net.URLClassLoader$1.run(URLClassLoader.java:363)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:362)
at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:355)
at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
at java.lang.Class.getDeclaredMethods0(Native Method)
at java.lang.Class.privateGetDeclaredMethods(Class.java:2701)
at java.lang.Class.privateGetMethodRecursive(Class.java:3048)
at java.lang.Class.getMethod0(Class.java:3018)
at java.lang.Class.getMethod(Class.java:1784)
at sun.launcher.LauncherHelper.validateMainClass(LauncherHelper.java:650)
at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:632)
여기서 핵심 내용은 아래와 같습니다. 플러터는 자바 55.0 버전에서 컴파일되었지만, 사용자의 컴퓨터에는 52.0 버전이니 업그레이드 하라는 내용입니다.
Java Runtime (class file version 55.0), this version of the Java Runtime only recognizes class file versions up to 52.0
자바 버전을 커멘드에서 때려보면 현재 설치된 버전을 확인할 수 있습니다. 제 컴퓨터에는 11.0.8이 설치되어 있군요.
Java가 오라클로 넘어가면서 유료화되었기 때문에 안전하게 OpenJDK를 설치하도록 하겠습니다. 자바 빌드 버전 55는 OpenJDK 11버전입니다. 아래 사이트에서 다운로드 하세요.
[ OpenJDK 11 다운로드 ]
적당한 곳에 압축을 풀어준 후 시스템 환경 변수를 잡아줍니다.
플러터 콘솔에서 "flutter doctor --android-licenses"를 다시 실행 해보세요. 정상적으로 라이센스 수락을 물어봅니다. 전부 y를 눌러서 수락하세요. flutter doctor를 실행하면 문제가 해결된걸 확인할 수 있습니다. 아직 몇몇 문제가 더 남아있지만 하나씩 해결하다보면 플러터 개발 환경을 만들 수 있을거예요^^
개발자에게 후원하기
추천, 구독, 홍보 꼭~ 부탁드립니다.
여러분의 후원이 빠른 귀농을 가능하게 해줍니다~ 답답한 도시를 벗어나 귀농하고 싶은 개발자~
감사합니다~
- 이전글Flutter - unable to find bundled java version. 23.01.28
- 다음글Flutter - cmdline-tools component is missing 23.01.28
댓글목록
등록된 댓글이 없습니다.