NGMsoftware

NGMsoftware
로그인 회원가입
  • 매뉴얼
  • 학습
  • 매뉴얼

    학습


    Error Flutter - Android license status unknown.

    페이지 정보

    본문

    플러터를 설치하려면 안드로이드 스튜디오가 먼저 설치되어 있어야 합니다. 그런데, 안드로이드 스튜디오를 설치했더라도 "Android license status unknown."와 같은 에러가 발생할 수 있습니다. 이 문제는 안드로이드 스튜디오에서 패키지를 설치하면 쉽게 해결할 수 있습니다. 안드로이드 스튜디오를 실행하세요. 그리고, Customize를 클릭하세요.

    PddeQS6.png

     

     

    All Settings...를 클릭하세요.

    qg7Vjqd.png

     

     

    좌측의 Appearance & Behavior를 확장하고, System Settings를 확장하세요. Android SDK를 클릭하고, SDK Tools 탭을 선택합니다. 우측 하단의 Hide Obsolete Packages에 체크를 해제하세요. 그러면, Android SDK Tools (Obsolete) 패키지가 보이는데요. 여기에 체크한 후 OK 버튼을 클릭해서 설치해주세요.

    GNs6dJi.png

     

     

    플러터 콘솔에서 "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

    PDe3T9Y.png

     

     

    자바 버전을 커멘드에서 때려보면 현재 설치된 버전을 확인할 수 있습니다. 제 컴퓨터에는 11.0.8이 설치되어 있군요.

    dAJyVjt.png

     

     

    Java가 오라클로 넘어가면서 유료화되었기 때문에 안전하게 OpenJDK를 설치하도록 하겠습니다. 자바 빌드 버전 55는 OpenJDK 11버전입니다. 아래 사이트에서 다운로드 하세요.

    [ OpenJDK 11 다운로드 ]

     

    적당한 곳에 압축을 풀어준 후 시스템 환경 변수를 잡아줍니다.

    MZUtkU6.png

     

     

    플러터 콘솔에서 "flutter doctor --android-licenses"를 다시 실행 해보세요. 정상적으로 라이센스 수락을 물어봅니다. 전부 y를 눌러서 수락하세요. flutter doctor를 실행하면 문제가 해결된걸 확인할 수 있습니다. 아직 몇몇 문제가 더 남아있지만 하나씩 해결하다보면 플러터 개발 환경을 만들 수 있을거예요^^

    S8rtfy4.png

     

     

    개발자에게 후원하기

    MGtdv7r.png

     

    추천, 구독, 홍보 꼭~ 부탁드립니다.

    여러분의 후원이 빠른 귀농을 가능하게 해줍니다~ 답답한 도시를 벗어나 귀농하고 싶은 개발자~

    감사합니다~

    • 네이버 공유하기
    • 페이스북 공유하기
    • 트위터 공유하기
    • 카카오스토리 공유하기
    추천0 비추천0

    댓글목록

    등록된 댓글이 없습니다.