Android-sdk 설치 실패: "java.lang.NoClassDefFoundError: javax/xml/bind/annotation/XmlSchema"
Android sdk 도구를 설치할 때 다음 오류가 발생합니다.
java.displaces를 클릭합니다.NoClassDefFoundError: javax/xml/bind/annotation/XmlSchema
왜 이런 일이 일어나며 어떻게 고칠 수 있을까요?
디버깅 출력:
$ java --version
java 9
Java(TM) SE Runtime Environment (build 9+181)
Java HotSpot(TM) 64-Bit Server VM (build 9+181, mixed mode)
$ brew cask install android-sdk
==> Caveats
We will install android-sdk-tools, platform-tools, and build-tools for you.
You can control android sdk packages via the sdkmanager command.
You may want to add to your profile:
'export ANDROID_SDK_ROOT=/usr/local/share/android-sdk'
This operation may take up to 10 minutes depending on your internet connection.
Please, be patient.
==> Satisfying dependencies
==> Downloading https://dl.google.com/android/repository/sdk-tools-darwin-3859397.zip
Already downloaded: /Users/tomasnovella/Library/Caches/Homebrew/Cask/android-sdk--3859397,26.0.1.zip
==> Verifying checksum for Cask android-sdk
==> Installing Cask android-sdk
==> Exception in thread "main"
==> java.lang.NoClassDefFoundError: javax/xml/bind/annotation/XmlSchema
==> at com.android.repository.api.SchemaModule$SchemaModuleVersion.<init>(SchemaModule.java:156)
==> at com.android.repository.api.SchemaModule.<init>(SchemaModule.java:75)
==> at com.android.sdklib.repository.AndroidSdkHandler.<clinit>(AndroidSdkHandler.java:81)
==> at com.android.sdklib.tool.SdkManagerCli.main(SdkManagerCli.java:117)
==> at com.android.sdklib.tool.SdkManagerCli.main(SdkManagerCli.java:93)
==> Caused by: java.lang.ClassNotFoundException: javax.xml.bind.annotation.XmlSchema
==> at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:582)
==> at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:185)
==> at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:496)
==> ... 5 more
Error: Command failed to execute!
==> Failed command:
/usr/local/Caskroom/android-sdk/3859397,26.0.1/tools/bin/sdkmanager tools platform-tools build-tools;26.0.1
==> Standard Output of failed command:
==> Standard Error of failed command:
Exception in thread "main" java.lang.NoClassDefFoundError: javax/xml/bind/annotation/XmlSchema
at com.android.repository.api.SchemaModule$SchemaModuleVersion.<init>(SchemaModule.java:156)
at com.android.repository.api.SchemaModule.<init>(SchemaModule.java:75)
at com.android.sdklib.repository.AndroidSdkHandler.<clinit>(AndroidSdkHandler.java:81)
at com.android.sdklib.tool.SdkManagerCli.main(SdkManagerCli.java:117)
이 오류가 했는데, 되었습니다.다운로드로 해결되었습니다.Android SDK Command-line Tools (latest)
의 Android Studio 아래 ★★Preferences > Appearance & Behavior > System Settings > Android SDK > SDK Tools
를 재실행합니다.flutter doctor --android-licenses
PATH의 PATH에 합니다..bashrc
,.zshrc
또는 이와 유사한 기능을 사용할 수 없습니다.
export PATH=$PATH:$ANDROID_HOME/cmdline-tools/latest/bin
오늘 아침에도 같은 문제가 있었습니다(Unity3D를 사용하여 Android를 빌드하려고 합니다).JDK9를 제거하고 Java SE Development Kit 8u144를 설치하게 되었습니다.이게 도움이 됐으면 좋겠다.
brew cask uninstall java
# 제거 java9brew tap homebrew/cask-versions
brew cask install java8
java8 # java8 치 #touch ~/.android/repositories.cfg
다음 #에서brew install --cask android-sdk
- 나도 이 오류가 있었다.
Exception in thread "main" java.lang.NoClassDefFoundError: javax/xml/bind/annotation/XmlSchema
at com.android.repository.api.SchemaModule$SchemaModuleVersion.<init>(SchemaModule.java:156)
at com.android.repository.api.SchemaModule.<init>(SchemaModule.java:75)
at com.android.sdklib.repository.AndroidSdkHandler.<clinit>(AndroidSdkHandler.java:81)
at com.android.sdklib.tool.sdkmanager.SdkManagerCli.main(SdkManagerCli.java:73)
at com.android.sdklib.tool.sdkmanager.SdkManagerCli.main(SdkManagerCli.java:48)
Caused by: java.lang.ClassNotFoundException: javax.xml.bind.annotation.XmlSchema
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:582)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:190)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:499)
... 5 more
- 최신 Java 환경을 제거하는 대신 Java 13입니다.
- 및치의
java 8
, - 다음 단계를 수행했습니다.
open the android studio > go to configure > select sdk manager > go to sdk tools > make a tick on android sdk command line tools >apply > and wait for installation
명령줄 도구 재시작
를
flutter doctor
를
flutter doctor --android-licenses
, 「」를 입력합니다.
y
이 오류를 해결하려면 Java 버전을 다운그레이드합니다.
또는 단말기로 다음 옵션을 내보냅니다.
Linux/MAC:
export JAVA_OPTS='-XX:+IgnoreUnrecognizedVMOptions --add-modules java.se.ee'
Windows:
set JAVA_OPTS=-XX:+IgnoreUnrecognizedVMOptions --add-modules java.se.ee
는, 「」를 해 .java.xml.bind
★★★★★★ 。
Linux:
export JAVA_OPTS='-XX:+IgnoreUnrecognizedVMOptions --add-modules java.xml.bind'
Windows:
set JAVA_OPTS=-XX:+IgnoreUnrecognizedVMOptions --add-modules java.xml.bind
, 하려면 , 「」를 할 수 .JAVA_OPTS
(「Linux」)에 격납되어 있습니다(「 Linux」.zshrc
,.bashrc
【윈도】【윈도】【윈도】【윈도】【윈도】【윈도】【윈도】
ps. Java EE 모듈이 없는 Java 11/11+에서는 작동하지 않습니다.이 옵션은 Java 버전을 다운그레이드하거나 Flatter 업데이트를 기다리는 것이 좋습니다.
참조: JDK 11: Java EE 모듈의 최종판
set JAVA_OPTS=-XX:+IgnoreUnrecognizedVMOptions --add-modules java.se.ee
이것으로 Windows의 문제가 해결되었습니다.
업데이트 2019-10:
이슈 트래커에 기재된 바와 같이 Google은 현재 JVM(9, 10, 11+)에서 실행되며 권장되지 않는 JAXB EE 모듈에 의존하지 않는 새로운 Android SDK 명령줄 도구 릴리스를 개발하고 있습니다.
Android Studio 내에서 또는 Google 서버에서 수동으로 다운로드하여 새 Android SDK 명령줄 도구를 다운로드하여 사용할 수 있습니다.
최신 버전의 경우 repository.xml 내의 URL을 확인합니다.
도구를 의 내부 합니다.$ANDROID_HOME
$ANDROID_HOME/cmdline-tools/...
를 참조해 주세요.
업데이트 2021-03:
최신 안정적인 명령줄 툴은 구글 다운로드 웹 사이트에서 이용할 수 있습니다.이러한 도구는 위에 링크된 도구보다 최신입니다.
Java 버전을 변경하지 않으려면(나는 변경하지 않음) 셸에서 일시적으로 버전을 변경할 수 있습니다.
첫 번째 실행
/usr/libexec/java_home -V
메이저 버전이 인스톨 되어 있는 경우는, 메이저버전을 선택합니다.그 이외의 경우는 먼저 설치합니다.
export JAVA_HOME=`/usr/libexec/java_home -v 1.8`
이제 sdkmanager를 실행할 수 있습니다.
를 는, Linux 의 인스톨을 실시할 수단은 Linux 의 인스톨입니다. JDK version 8
다음 명령을 사용하여 기본값으로 선택합니다.
sudo update-alternatives --config java
Mac/Linux에서는 다음 명령을 사용합니다.
export JAVA_OPTS='-XX:+IgnoreUnrecognizedVMOptions --add-modules java.se.ee'
스크립트(sdkmanager, avdmanager)를 패치하지 않고 JDK 9와 10 모두에서 동작합니다.
Java 11 의 경우는, https://stackoverflow.com/a/51644855/798165 를 참조해 주세요.
프로파일에 다음 항목을 추가해야 합니다(MacOS에서 작업).
export JAVA_HOME=`/usr/libexec/java_home -v 1.8`
패치를 붙일 필요는 없습니다.
JDK 9)에 한 JDK 10(또는 9)을하지 않고 .create-react-app
JDK 9 10 10 、 Android - sdk 、 !!!!!!!!!! !!!!!
Siu Ching Pong - Asuka Kenji - 수정 제안sdkmanager
이: 음 script 、 음음 、 음음 script script script script script
DEFAULT_JVM_OPTS='"-Dcom.android.sdklib.toolsdir=$APP_HOME"'
포함:
DEFAULT_JVM_OPTS='"-Dcom.android.sdklib.toolsdir=$APP_HOME" -XX:+IgnoreUnrecognizedVMOptions --add-modules java.se.ee'
mod sdk manager manager업manager 。
자세한 내용은 그의 게시물과 링크된 게시물을 확인하십시오.
이 솔루션은 이 github 문제 스레드에 기재되어 있는 솔루션 중 하나이기도 합니다.
독일어의 투고는 충돌의 원인을 나타내며 업데이트에 의해 덮어쓰지 않는 수정 사항을 제시합니다.
는 이름을 바꿀 을 제안합니다./Library/Java/JavaVirtualMachines/Info.plist
시스템에 상주하는 Java의 최고 버전을 검색하는 스크립트에서 이를 가리는 수단으로 사용됩니다.JDK 8입니다.
10을 하거나 JDK 10으로 $JAVA_HOME
필요에 따라서, 디폴트 대신에 JDK 10 을 사용할 수 있습니다.
을 사용하다
저는 macOS를 사용하고 있었는데, Flutter 어플리케이션을 빌드하는 중에 Android sk 라이선스가 받아들여지지 않는다고 하는 에러가 발생했습니다.따라서 라이선스를 승인하는 동안 이 오류가 발생했습니다.
이 에러의 원인은 라이선스를 받아들이기 위해 필요한 sdkmanager 명령줄 툴을 설치하지 않았기 때문입니다.
따라서 명령줄 도구를 설치하는 가장 쉬운 방법은 다음과 같습니다.
- 바에서 SDK 툴을 선택합니다.
- Android SDK 명령줄 도구(최신) 옵션을 선택합니다.
- 바르세요.
- Flutter를 사용하는 경우 Flutter Doctor -android-licenses를 실행합니다. 그렇지 않으면 오류가 발생한 프로세스를 계속할 수 있습니다.
이상하게도 Java9은 Android-sdk와 호환되지 않습니다.
$ avdmanager
Exception in thread "main" java.lang.NoClassDefFoundError: javax/xml/bind/annotation/XmlSchema
at com.android.repository.api.SchemaModule$SchemaModuleVersion.<init>(SchemaModule.java:156)
at com.android.repository.api.SchemaModule.<init>(SchemaModule.java:75)
at com.android.sdklib.repository.AndroidSdkHandler.<clinit>(AndroidSdkHandler.java:81)
at com.android.sdklib.tool.AvdManagerCli.run(AvdManagerCli.java:213)
at com.android.sdklib.tool.AvdManagerCli.main(AvdManagerCli.java:200)
Caused by: java.lang.ClassNotFoundException: javax.xml.bind.annotation.XmlSchema
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:582)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:185)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:496)
... 5 more
참조하기 쉽도록 모든 명령어를 하나로 통합:
$ sudo rm -fr /Library/Java/JavaVirtualMachines/jdk-9*.jdk/
$ sudo rm -fr /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin
$ sudo rm -fr /Library/PreferencePanes/JavaControlPanel.prefPane
$ /usr/libexec/java_home -V
Unable to find any JVMs matching version "(null)".
Matching Java Virtual Machines (0):
Default Java Virtual Machines (0):
No Java runtime present, try --request to install
$ brew tap caskroom/versions
$ brew cask install java8
$ touch ~/.android/repositories.cfg
$ brew cask install android-sdk
$ echo 'export ANDROID_SDK_ROOT="/usr/local/share/android-sdk"' >> ~/.bash_profile
$ java -version
java version "1.8.0_162"
Java(TM) SE Runtime Environment (build 1.8.0_162-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.162-b12, mixed mode)
$ avdmanager
Usage:
avdmanager [global options] [action] [action options]
Global options:
-s --silent : Silent mode, shows errors only.
-v --verbose : Verbose mode, shows errors, warnings and all messages.
--clear-cache: Clear the SDK Manager repository manifest cache.
-h --help : Help on a specific command.
Valid actions are composed of a verb and an optional direct object:
- list : Lists existing targets or virtual devices.
- list avd : Lists existing Android Virtual Devices.
- list target : Lists existing targets.
- list device : Lists existing devices.
- create avd : Creates a new Android Virtual Device.
- move avd : Moves or renames an Android Virtual Device.
- delete avd : Deletes an Android Virtual Device.
저도 같은 문제에 직면했어요.저는 조금 오래된 개발자이지만 (아직도 윈도우를 사용하여 개발 중 :P)
Windows 로 이 문제를 해결하려면 , 다음의 순서에 따릅니다.
순서 1: jdk 8이 인스톨 되어 있지 않은 경우는 인스톨 합니다(jdk 9 또는 11은 동작하지 않지만, 다른 개발용으로 인스톨 되어 있는 경우가 있습니다).
Chocolatey를 사용하면 매우 간단합니다.
choco 설치 jdk8
(Chocolatey를 사용하여 설치한 경우 2단계와 3단계를 건너뜁니다.)
스텝 2: 환경변수 설정으로 이동하여 JAVA_를 설정합니다.JDK 8의 인스톨 디렉토리에의 홈.
스텝 3: path variable로 이동하여 jdk 8의 bin 디렉토리를 추가하여 top으로 이동합니다.
순서 4: 열려 있는 터미널 세션을 모두 닫고 새 세션을 재시작합니다.
옵션 스텝 5: 터미널 실행의 목적에 따라 다음 절차를 수행합니다(경로에 sdkmanager를 추가하거나 디렉토리로 이동하기만 하면 됩니다).
sdkmanager --update
이상입니다! :O 설레는 것을 즐기세요! :d
Java 11에서 JavaEE가 제거되었으므로 일부 jar를 다운로드하여 클래스 경로에 추가해야 합니다.
JAXB: https://javaee.github.io/jaxb-v2/
JAF: https://www.oracle.com/technetwork/articles/java/index-135046.html
그런 다음 CLASSPATH=가 설정되도록 sdkmanager.bat을 편집합니다.;%CLASSPATH%로 끝납니다.
CLASSPATH가 JAXB 및 JAF를 포함하도록 설정합니다.
set CLASSPATH=jaxb-core.jar;jaxb-impl.jar;jaxb-api.jar;activation.jar
그러면 sdkmanager.bat이 작동합니다.
실행 시 동일한 문제가 발생하였습니다.
$ /Users/<username>/Library/Android/sdk/tools/bin/sdkmanager "platforms;android-28" "build-tools;28.0.3"_
나는 그것을 로서 해결했다.
$ echo $JAVA_HOME
/Library/Java/JavaVirtualMachines/jdk-11.0.1.jdk/Contents/Home
$ ls /Library/Java/JavaVirtualMachines/
jdk-11.0.1.jdk
jdk1.8.0_202.jdk
1.8을 사용하도록 Java 변경
$ export JAVA_HOME='/Library/Java/JavaVirtualMachines/jdk1.8.0_202.jdk/Contents/Home'
그러면 같은 명령어가 정상적으로 실행됩니다.
$ /Users/<username>/Library/Android/sdk/tools/bin/sdkmanager "platforms;android-28" "build-tools;28.0.3"
Android 명령줄 툴의 최신 버전(이 문서에서는 2.1)에서는 더 이상 sdkmanager에 패치를 적용하거나 Java의 이전 버전으로 다운그레이드할 필요가 없습니다.
만 하면 .latest
릴리즈: 새로운 버전이 출시되면 다음과 같이 추적됩니다.
sdkmanager --update
sdkmanager 'cmdline-tools;latest'
sdkmanager --uninstall 'cmdline-tools;1.0'
에 to to to to to to to to to to to to to to to to to to to to to to to에 대한 풀 경로를 해야 할 수 .sdkmanager
당신의 PATH
을해야 할 도 있습니다.PATH
후, 이 「」를 하고 있는 는, 「」를 참조하고 있습니다.1.0
이치노
제 경우, JDK 8(Ubuntu 아래의 Qt에서 AVD와 SDK 매니저를 사용하려고 합니다)과 11이 모두 필요합니다.버전 11을 삭제할 수 없습니다.
'JAVA_'OPTS의 솔루션은 아무것도 하지 않았다.내보내기 JAVA_는 별로 좋아하지 않습니다.HOME을 사용하면 이러한 유틸리티를 같은 셸(Qt 등)에서 호출하는 툴이 무엇이든 실행하거나 영속적으로 호출하도록 강제할 수 있습니다.이것은 편리하지 않습니다.
그래서 저에게 해결책은 매우 간단합니다.~/Android/tools/bin/sdkmanager 및 ~/Android/tools/bin/avdmanager의 두 번째 줄에 다음과 같은 내용을 추가합니다.
JAVA_HOME="/usr/lib/jvm/java-8-openjdk-amd64"
(또는 rev 8 jdk로의 경로가 무엇이든 상관없습니다).
이를 통해 이러한 명령줄 툴은 독립 실행형 모드로 동작하며 Qt 등의 다른 툴에서 호출된 경우에도 동작하며 다른 툴에서는 jdk 11이 여전히 시스템 기본값입니다.리브 등을 섞을 필요는 없습니다...
유일한 단점은 이러한 명령줄 도구를 업데이트하면 변경 내용이 지워지고 다시 입력해야 한다는 것입니다.
제 경우 자바 14를 가지고 있고 자바 8이 필요합니다.
Arch Linux를 했습니다.jdk8-openjdk jre8-openjdk
https://www.archlinux.org/packages/extra/x86_64/java8-openjdk/httpswww.archlinux.org/packages/extra/x86_64//
Debian 사용자의 경우 https://wiki.debian.org/Java, 또는 Fedora https://docs.fedoraproject.org/en-US/quick-docs/installing-java/.
8 이 Java 8(또는 을 설치합니다.jdk8-openjdk jre8-openjdk
패키지 매니저를 사용하여 다음 절차를 수행합니다.
1. Java 위치 확인:
# which java
/usr/bin/java
2. Java 파일 확인:
모든 은 자바에 것을 알 수 ./usr/lib/jvm/default[something]
.,,는java
는 특정 의 "Manager"에 .java
실행 가능.
# ls -l /usr/bin/java*
lrwxrwxrwx 1 root root 37 May 16 06:30 /usr/bin/java -> /usr/lib/jvm/default-runtime/bin/java
lrwxrwxrwx 1 root root 30 May 16 06:30 /usr/bin/javac -> /usr/lib/jvm/default/bin/javac
lrwxrwxrwx 1 root root 32 May 16 06:30 /usr/bin/javadoc -> /usr/lib/jvm/default/bin/javadoc
lrwxrwxrwx 1 root root 30 May 16 06:30 /usr/bin/javah -> /usr/lib/jvm/default/bin/javah
lrwxrwxrwx 1 root root 30 May 16 06:30 /usr/bin/javap -> /usr/lib/jvm/default/bin/javap
3. ★★default
★★★★★★★★★★★★★★★★★」default-runtime
여기서 기본 버전이 14(고유 설치 버전)에 링크되어 있음을 알 수 있습니다.
# cd /usr/lib/jvm
# ls -l
lrwxrwxrwx 1 root root 14 Aug 8 20:44 default -> java-14-openjdk
lrwxrwxrwx 1 root root 14 Aug 8 20:44 default-runtime -> java-14-openjdk
drwxr-xr-x 7 root root 4096 Jul 19 22:38 java-14-openjdk
drwxr-xr-x 6 root root 4096 Aug 8 20:42 java-8-openjdk
4. 디폴트 버전 전환
'기존'을 합니다.default
★★★★★★★★★★★★★★★★★」default-runtime
Java-14 java java java java java java java java java java java java java java
# rm default default-runtime
그런 다음 원하는 버전(이 경우 java-8)에 대한 새 링크를 만듭니다.
# ln -s java-8-openjdk default
# ln -s java-8-openjdk default-runtime
에서는 'java8'을 사용하여 원하는 로.ln -s
그러면 이 링크는 (환경변수를 변경하지 않고) Java bin 디렉토리 내의 바이너리에 링크됩니다.
Java 할 수도 .archlinux-java
명령어 대신 보다 안전한 접근 방식을 사용합니다.https://wiki.archlinux.org/index.php/Java
TLDR; JAVA_ 설정 시도OSX에서는 HOME이 정상적으로 동작했습니다.
export JAVA_HOME=/Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home
Adapt Open에서 JDK 8(LTS)을 설치하려면JDK:
# brew tap adoptopenjdk/openjdk
brew cask install adoptopenjdk/openjdk/adoptopenjdk8
Linux 사용자용(Debian Distro, Kali 사용)제 문제는 이렇게 해결했어요.
jdk-8이 아직 없는 경우 Oracle 사이트에서 입수할 수 있습니다.
https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
jdk-8u191-linux-x64.tar.gz를 받았습니다.
순서 1 - Java Move 설치 및 적절한 장소에서 개봉
$ mv jdk-8u191-linux-x64.tar.gz /suitablelocation/
$ tar -xzvf /suitablelocation/jdk-8u191-linux-x64.tar.gz
jdk1.8.0_191과 같은 압축 해제된 폴더를 얻을 수 있습니다. 나중에 공간을 절약하기 위해 tarball을 삭제할 수 있습니다.
2단계 - 기본 Java 위치 대체 설정
$ update-alternatives --install /usr/bin/java java /suitablelocation/jdk1.8.0_191/bin/java 1
$ update-alternatives --install /usr/bin/javac javac /suitablelocation/jdk1.8.0_191/bin/javac 1
순서 3 - 다른 옵션을 기본값으로 선택
$ update-alternatives --set java /suitablelocation/jdk1.8.0_191/bin/java
$ update-alternatives --set javac /suitablelocation/jdk1.8.0_191/bin/javac
스텝 4 - 기본 Java 버전 확인
$ java -version
메모들
- https://forums.kali.org/showthread.php?41-Installing-Java-on-Kali-Linux, 에서는, Mozilla 의 디폴트 플러그 인도 설정되어 있습니다.우리는 단지 안드로이드용으로 개발하려고 하는 것이기 때문에 플러그인은 별로 필요하지 않다고 생각합니다.
- @spassvogel의 답변과 마찬가지로 @reposities.cfg 파일도 ~/.android 디렉토리에 저장해야 합니다.이것은 툴의 repo 목록을 갱신하기 위해서 필요하기 때문입니다.
- 몇 가지 물건을 옮기려면 루트 권한이 필요할 수 있습니다.스도를 현명하게 사용하세요.
- sdkmanager 의 사용 방법에 대해서는, 다음의 공식 가이드를 참조해 주세요.https://developer.android.com/studio/command-line/sdkmanager
이 질문에는 수많은 답변이 있습니다.또한 사용자가 다른 툴체인을 설치하고 다른 Java 버전을 사용하기 때문에 모두 다릅니다.
Android 개발 툴체인을 사용하는 권장 방법 또는 적어도 권장하는 방법은 Android Studio 설명서에 나와 있는 내용을 따르는 것입니다.
Android SDK Manager를 사용하여 최신 버전을 다운로드하여 빌드 도구 구성 요소를 항상 업데이트해야 합니다.
Android Studio를 사용하면 설치된 SDK와 빌드 도구를 쉽게 관리할 수 있습니다. 하드 드라이브에 약간의 공간이 필요하지만 시간을 절약할 수 있습니다.동작에 익숙해지면 명령줄 도구만 설치할 수 있습니다.
오래된 Java 버전을 사용하는 특별한 이유가 없다면 최신(안정적) 버전을 사용하면 흥미로운 새로운 기능을 얻을 수 있을 뿐만 아니라 컴파일된 응용 프로그램도 새로운 최적화 기능을 모두 활용할 수 있습니다.
신규 설치
- " " " 를 합니다.
Android
. - Android 스튜디오 다운로드
- [ ]를 엽니다.
Settings
,Android SDK
그것을 열어라 - »
SDK Platforms
하세요(Android 버전 선택) - »
SDK Tools
" ", " 를 선택합니다.Android SDK Build-Tools
,Android SDK Command-line Tools (latest)
,Android Emulator
,Android SDK Platform-Tools
- 에 OK를 합니다.
Android SDK Location
에게는 길이 맞다. - [확인]을 눌러 Android Studio에서 모든 것을 다운로드 및 설치합니다.
(선택사항) 명령줄에서 설치된 바이너리를 사용해야 할 경우 해당 폴더를 PATH 변수에 추가해야 합니다.Android studio를 사용한다면 필요하지 않을 것입니다.
Java 14를 컴퓨터에 설치했습니다만, 어쨌든 Android Studio에 부속된 jre를 사용할 수 있습니다.
제 경우 필요한 sdk 버전이 컴퓨터에 설치되어 있지 않았습니다.
따라서 에러에 기재되어 있는Sdk 버전이 인스톨 되어 있는 것을 확인해 주세요.
여기서는 Android Studio를 통해 확인 및 설치를 할 수 있습니다.
Windows 머신의 경우는, JDK가 1.8.172보다 큰 경우는 언인스톨 합니다.JDK 1.8.172 설치
Java 10을 사용하는 Windows 10에서도 같은 문제가 발생했습니다.Java 10을 제거하고 Java 8을 설치했는데 정상적으로 작동합니다.
실행합니다.java -version
★★★★★★★★★★★★★★★★★」javac -version
를 들어 버전온하기 위해 는 JDK(버전 1.8.0_181)입니다.
않으면 .PATH
JDK를 사용하다방법을잘 모를 경우 자바 8(Windows에서는 프로그램 추가/제거)을제외한 다른 모든 자바 인스턴스를 제거합니다.오늘만큼은, 둘 다 통일, 안드로이드가 자바 개발 키트 8을 당부하고 있다.현시점에서는 Unity와 안드로이드 모두 자바 개발 키트 8을사용할 것을 권장합니다.
자바 8과 함께, 자바 8에서는, 수출 할필요가 없습니다 수출할 필요는 없다.java.se.ee
모듈만큼 다른 대답은에서 보여 주었다.모듈을 참조하십시오.또한수도 있습니다 제거할 하나를 다음 중을 제거할 수도 있다.JAVA_OPTS
또는 설정한 기타 환경변수를 지정합니다.
최근에 제가 자바 개발 키트 8설치 자바 개발 키트의 높은 버전 설치에 따라 자바 개발 키트를 설치한 다음에는 길을 주어야 할 이 문제 해결되었다.최근 JDK의 상위 버전을 제거하고 자바 개발 키트 8을 설치하여가 문제를 해결했습니다. JDK를 후에는경로를 지정해야 합니다 설치한.그럼"C:그런 다음"C에 명령 프롬프트를 열어 가기:"에서 명령프롬프트를 열어야 합니다가 필요하다.Adhikari\AppData\Local\\Users\MilanAdhikari\AppData\Local\\Users\Milancmd에 Android\안드로이드\Sdk\tools" 뛰고"sdkmanager--update"고 그 실행해야 하는 sdk을 업데이트할 것입니다"flutter 의사 android-licenses"고 모든 면허를 표합니다."Sdk\tools"및"sdkmanager-업데이트"를 실행하여 SDK를 업데이트하고 cmd로"플러터 의사 android-licenses"를 실행하여 모든 라이선스를 승인해야 합니다.
이제 당신의 문제 풀려야 한다.이제 당신의 문제는 해결되어야 합니다.
가장 좋은 방법은 다음 명령을 사용하는 것입니다.
$ wget https://dl.google.com/android/repository/platform-tools-latest-linux.zip
$ unzip \platform-tools-latest-linux.zip
$ sudo cp platform-tools/adb /usr/bin/adb
$ sudo cp platform-tools/fastboot /usr/bin/fastboot
이제 adb 버전을 실행하여 업데이트가 되었는지 확인합니다.
컴퓨터에 이미 설치되어 있는 다른 Java 버전을 제거할 필요가 없습니다.필요할 때마다 'update-alternates' 유틸리티를 사용하여 활성화할 Java 런타임을 편리하게 선택할 수 있습니다.필요한 심볼 링크를 자동으로 업데이트합니다.
다음 명령을 실행하고 원하는 버전을 선택하면 됩니다.그게 다예요!
sudo update-alternatives --config java
@http://https://computingforgeeks.com/how-to-install-java-8-on-ubuntu/) 의 Java 8 을 인스톨 합니다(여기에서는 Ubuntu 16.04, 18.04, 및 20.04/20.10 https://computingforgeeks.com/how-to-install-java-8-on-ubuntu/) 의 링크를 참조해, 다음의 커맨드로 디폴트의 Java 버전으로 설정합니다).
sudo update-alternatives --config java
Java 버전을 다운그레이드합니다.시스템이나 아이디어에 구애받지 않습니다.
Java 버전이 8보다 높지 않은지 확인합니다.
저 같은 경우에는.ide java verion을 변경합니다.이것으로 내 문제는 해결되었다.
언급URL : https://stackoverflow.com/questions/46402772/failed-to-install-android-sdk-java-lang-noclassdeffounderror-javax-xml-bind-a
'sourcecode' 카테고리의 다른 글
비동기 Vuex 액션을 2회 실행할 경우 콜 대기 후 코드를 랜덤 순서로 실행할 수 있습니까? (0) | 2022.08.01 |
---|---|
printf()를 사용하여 열거형 값을 표시할 수 있습니까? (0) | 2022.08.01 |
.txt 파일에 쓰시겠습니까? (0) | 2022.08.01 |
인라인 기능을 사용할 때와 사용하지 않을 때? (0) | 2022.08.01 |
64비트 머신의 사이즈(int)는 어떻게 해야 합니까? (0) | 2022.08.01 |