flutter doctor 실행 후 발생하는 현상
android license status unknown를 보게 된다면
당연히 flutter doctor --android-licenses를 쳐도
A newer version of the Android SDK is required. To update, run:
C:\Users\[사용자이름]\AppData\Local\Android\sdk\tools\bin\sdkmanager --update
문구가 뜰뿐이다. (나도 업데이트 하고 싶다고ㅠㅠ)
또 볼 수 있는건 에러? 오류?
Exception in thread "main" java.lang.NoClassDefFoundError: javax/xml/bind/annotation/XmlSchema
...............(생략)
이런 문구들도 볼수 있다. (또 있는데... 귀차니즘ㅈㅅ)
다 집어치우고.... 왜 이런 현상이 발생했냐?
구글링 결과 간단히 말하면 java 버전이 문제다.
참고로 난 openjdk 11 버전 사용 중
그런데 이걸 해결하려면 jdk8 버전으로 가야한단다...
대부분 찾아보니 jdk9버전 쓰는 사람들이 위 같은 현상으로 구글링 하고 해답을 찾고 있었다. (jdk10도 마찬가지)
결국 jdk 9이상버전에서는 안된다. (이유인 즉 참조 관련인데... 생략하고.... 빨리 해결해야지...)
해결방법
1. jdk8로 가라.
2. jdk11,12는 아래와 같은 방법을 사용하면 됨. (jdk9,10은 테스트 못함-참고로 9,10과 11은 조금 다른 형태(?)라고 함. )
[해결법]
1. %LOCALAPPDATA%\Android\Sdk\tools\bin 폴더에 sdkmanager.bat 파일을 편집기로 열기
참고로 전 vscode
2. 아래 코드를 찾는다.
%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %SDKMANAGER_OPTS% .............
3. 코드를 찾았으면 바로 위줄에 박스친 부분을 삽입시켜준다.
set CLASSPATH=%CLASSPATH%;%APP_HOME%\mylib\jaxb-api.jar
set CLASSPATH=%CLASSPATH%;%APP_HOME%\mylib\jaxb-core.jar
set CLASSPATH=%CLASSPATH%;%APP_HOME%\mylib\jaxb-impl.jar
set CLASSPATH=%CLASSPATH%;%APP_HOME%\mylib\jaxb-jxc.jar
set CLASSPATH=%CLASSPATH%;%APP_HOME%\mylib\jaxb-xjc.jar
set CLASSPATH=%CLASSPATH%;%APP_HOME%\mylib\activation.jar
set CLASSPATH=%CLASSPATH%;%APP_HOME%\mylib\istack-commons-runtime.jar
4. %LOCALAPPDATA%\Android\Sdk\tools\ 에 mylib폴더를 만든 후 아래 jar 파일을 다운받는다.
http://central.maven.org/maven2/javax/activation/activation/1.1.1/activation-1.1.1.jar
http://central.maven.org/maven2/com/sun/xml/bind/jaxb-impl/2.3.2/jaxb-impl-2.3.2.jar
http://central.maven.org/maven2/com/sun/xml/bind/jaxb-xjc/2.3.2/jaxb-xjc-2.3.2.jar
http://central.maven.org/maven2/org/glassfish/jaxb/jaxb-core/2.3.0.1/jaxb-core-2.3.0.1.jar
http://central.maven.org/maven2/org/glassfish/jaxb/jaxb-jxc/2.3.2/jaxb-jxc-2.3.2.jar
http://central.maven.org/maven2/javax/xml/bind/jaxb-api/2.3.1/jaxb-api-2.3.1.jar
불안했다. 평소 확실한 파일이어도 이런 문구뜨면 절대 다운 안한다. 하지만 용기내서 했다. (불안하시면 다운금지요!!)
파일뒤에 숫자는 지운다. ex) activation-1.1.1.jar 를 activation.jar로 파일이름 변경
5. 이제 sdkmanager --update 를 해보자. 제대로 update 실행된다.
6. flutter doctor 로 확인해보자. 드디어 보고 싶었던 문구 나왔다.
7. flutter doctor --android-licenses 실행 후 모든 질문에 y 엔터하면 된다.
8. 마지막으로 flutter doctor로 설치 확인해보면 끝
잘 된다....
먼저 찾았던 좀 더 쉬운 방법으로 됐으면 좋았을려만.... 여기까지 왔다.
그럼 수고!!!!!!!!!!!!!!!!!!
'문제해결 tip정보' 카테고리의 다른 글
[문제해결] 알집 오류 파일 이름이나 확장자명이 너무 깁니다 (1) | 2019.08.02 |
---|---|
[문제해결] MSVCP 100.dll / MSVCP120.dll / MSVCP140.dll 오류 (0) | 2019.07.25 |
[문제해결] 린나이 보일러 에러 코드 (0) | 2019.07.21 |
[문제해결] emulator 실행문제 (feat.vscode) (0) | 2019.07.19 |
플러터(flutter) 설치해 보자 윈도우(windows) (0) | 2019.07.16 |