android-sdk 설치 실패 :“java.lang.NoClassDefFoundError : javax / xml / bind / annotation / XmlSchema”


167

Android SDK 도구를 설치할 때 다음 오류가 발생합니다.

java.lang.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)

나는 우리의 질문이 "이 오류의 원인은 무엇입니까?"라고 가정합니다. 답은 javax.xml 클래스를 찾을 수 없다는 것입니다.
Steve Smith

28
실제로이 질문은 java9를 가질 때 안드로이드 SDK를 설치하는 데 문제가 있음을 묻습니다.
jontro

17
이 문제가 발생하여 오류 메시지의 첫 번째 줄을 Google에 복사하여 붙여 넣었습니다.이 질문은 처음 등장한 것입니다. 뿐만 아니라 아래 답변 중 하나가 해결했습니다. 질문의 규칙이 무엇이든,이 질문은 사이트의 전체 목적을 증명할 수 있습니다.
Le Mot Juiced

1
삭제 아무것도 나이가 자바 8 이상에서/Library/Java/JavaVirtualMachines
디미트리

2
문제는 우분투 18.04 패키지를 사용하여 자바 (8)와 자바 (11)에서 발생 openjdk-8-jdk하고 openjdk-11-jdk. 누구든지 NDK에서 무엇을 설치 javax/xml/bind/annotation/XmlSchema하거나 피할 수 있는지 알고 javax/xml/bind/annotation/XmlSchema있습니까?
jww

답변:


138

오늘 아침에도 비슷한 문제가 발생했습니다 (Unity3D를 사용하여 Android 용 빌드하려고합니다). JDK9를 제거하고 Java SE Development Kit 8u144를 설치 했습니다 . 도움이 되었기를 바랍니다.

  1. brew cask uninstall java # java9 제거
  2. brew tap homebrew/cask-versions
  3. brew cask install java8 # java8 설치
  4. touch ~/.android/repositories.cfg #이 파일이 없으면 다음 단계에서 오류가 발생합니다
  5. brew cask install android-sdk

2
Windows 10에서 오류가 발생했지만 시도했지만 여전히 작동하지 않습니다. 팁이 있습니까?
Vedvart1

3
훌륭합니다-Android Studio에서 Flutter 앱을 빌드하는 데 효과적이었습니다. 감사!
Darragh Enright

20
이것은 작동을 멈췄습니다 .brew cask install java8이 작동하지 않습니다.
kdy

4
올바른 명령은 지금 것 같습니다brew cask install homebrew/cask-versions/java8
caesarsol

21
brew cask install homebrew/cask-versions/adoptopenjdk8작동하는 것 같습니다
guruz

82

이 오류를 해결하기 위해 Java 버전을 다운 그레이드 할 수 있습니다.

또는 터미널에서 다음 옵션을 내 보냅니다.

리눅스 / MAC :

export JAVA_OPTS='-XX:+IgnoreUnrecognizedVMOptions --add-modules java.se.ee'

윈도우 :

set JAVA_OPTS='-XX:+IgnoreUnrecognizedVMOptions --add-modules java.se.ee'

그리고 당신은 수출이 수 영구적으로 저장 JAVA_OPTS(리눅스에서 내 프로필 파일 .zshrc, .bashrc등 등) 또는 Windows 영구적으로 환경 변수로 추가 할 수 있습니다.


추신. Java EE 모듈이없는 Java 11+에서는 작동하지 않습니다. 이 옵션을 사용하는 것이 좋습니다. Java 버전을 다운 그레이드하거나 Flutter 업데이트를 기다리십시오 .

참조 : JDK 11 : Java EE 모듈의 끝


6
이 / 오픈 JDK 10.0.2 승 우분투 18.04에 나를 위해 일한
rastating

3
Java 버전 "10.0.1"2018-04-17의 macOS Mojave (10.14.2)에서 나를 위해 일했습니다.
Subfuzion

4
macOS Mojave (10.14.2)에서 새 오류가 발생했습니다 : 부트 레이어 초기화 중에 오류가 발생했습니다 java.lang.module.FindException : java.se.ee 모듈을 찾을 수 없음
Randy

2
또한 1.8.0_191을 시도,하지만 여전히 점점 오전 : 오류 : 찾거나 메인 클래스의 java.se.ee로드 할 수 없습니다
랜디

1
이 옵션은 Java 8에는 필요하지 않으며 Java EE 모듈이없는 Java 11에는 작동하지 않습니다.
valdeci

64
set JAVA_OPTS=-XX:+IgnoreUnrecognizedVMOptions --add-modules java.se.ee

이것은 Windows의 문제를 해결했습니다.

소스 1 , 소스 2


2
또한 이것을 우분투 16.04 (사용 export하지 않음 set)에서 사용 하여 문제를 해결했습니다.
Benjamin Conlan 2016 년

천재. 정말 고마워. 내 JVM을 변경해야한다고 생각했습니다.
플레이크

1
Java 10이 설치된 Windows 10에서 매력처럼 작동
pabz

4
불행히도 이는 Java 11에서 완전히 제거 된 것으로 보입니다.
Alastair Maw

일을 일했다 export JAVA_OPTS = '-XX:+IgnoreUnrecognizedVMOptions --add-modules java.se.ee'우분투 18.04에
E2-E4

25

Java 버전을 변경하지 않으려는 경우 (필요하지 않음) 쉘에서 일시적으로 버전을 변경할 수 있습니다.

첫 실행

/usr/libexec/java_home -V

그런 다음 설치 한 메이저 버전을 선택하십시오. 그렇지 않으면 먼저 설치하십시오.

export JAVA_HOME=`/usr/libexec/java_home -v 1.8`

이제 sdkmanager를 실행할 수 있습니다.


2
$ /usr/libexec/java_home -V제공합니다 bash: /usr/libexec/java_home: No such file or directory. apt-file search /usr/libexec/java_home정확히 아무것도 제공하지 않습니다.
Tino

$ JAVA_HOME이 올바르게 설정되어 있습니까? 실행 : echo "export JAVA_HOME=`/usr/libexec/java_home`" >> ~/.bashrc(또는 프로필을 사용하는 경우 프로필)-다시로드 :. ~/.bashrc
사라 A

/usr/libexec둘 다 없습니다 . MacOS에 있습니까? (저는 Ubuntu / Linux 및 Ubuntu / Windows에 있습니다)
Tino

저는 맥을 사용하고 있습니다. Java_home은 어디에 있습니까?
Sarah A

21

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를 참조하십시오.


1
감사! jdk 9를 설치하면 문제가 해결됩니다.
Jorge Valvert

15

JDK 10 (또는 9)을 제거하지 않고도 나에게 도움이되는 두 가지 답변을 찾았습니다 create-react-app. JDK 9와 10은 모두 android-sdk와 호환되지 않습니다!


Siu Ching Pong -Asuka Kenji-sdkmanager다음 줄을 대체 하여 스크립트 수정을 제안합니다 .

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'

sdkmanager를 업데이트 할 때이 모드를 덮어 씁니다.
자세한 내용은 그의 게시물과 그가 연결 한 게시물을 확인하십시오.
이 솔루션은 또한이 github 이슈 스레드 에서 언급 된 솔루션 중 하나였습니다 .


독일의 게시물 은 충돌의 원인을 나타내며 업데이트로 덮어 쓰지 않는 수정 사항을 제시합니다.
그는 /Library/Java/JavaVirtualMachines/Info.plist시스템에 상주하는 최고 버전의 Java를 찾는 스크립트에서 이름 을 가리는 방법으로 이름을 바꿀 것을 제안 합니다. 이런 식으로 JDK 8이 기본값으로 반환됩니다.
JDK 10을 명시 적으로 참조하거나로 설정하면 $JAVA_HOME필요할 때마다 기본값 대신 JDK 10을 사용할 수 있습니다.
세부 사항은 그의 게시물에 있습니다.


1
Java를 다운 그레이드하도록 강요하지 않으므로 완벽하고 최상의 솔루션 IMHO를 사용했습니다.
4levels

어떻게 든, ao로 많은 실험을 한 후. Android Studio에서이 문제가 사라지고 새로운 오류가 발생 Could not find or load main class java.se.ee했습니다. DEFAULT_JVM_OPTS를 되 돌리면이 문제가 해결되었고 이전 문제는 사라졌습니다.
4levels

3
불행히도, 이것은 지금 작동하지 않습니다. 결과는 다음과 같습니다. 부트 계층 java.lang.module.FindException 초기화 중 오류가 발생했습니다 : java.se.ee 모듈을 찾을 수 없음
Oscar

1
다운 그레이드없이 jdk-11 및 jdk1.8을 설치 한 상태로 유지하기위한 올바른 솔루션을 제공하기 위해 upvoted stackoverflow.com/a/49630166/5411817
harrisjb

15

프로파일에 다음을 추가해야합니다 (MacOS에서 작동).

export JAVA_HOME=`/usr/libexec/java_home -v 1.8`

아무것도 패치 할 필요가 없습니다.


15

JDK 버전 8을 설치하고 다음을 사용하여 기본값으로 선택하십시오.

sudo update-alternatives --config java

11

2019-10 업데이트 :

이슈 트래커에 명시된 바와 같이 Google은 현재 JVM (9, 10, 11+)에서 실행되며 더 이상 사용되지 않는 JAXB EE 모듈에 의존하지 않는 새로운 Android SDK 명령 행 도구 릴리스를 개발 중입니다!

Android Studio 에서 새로운 Android SDK 명령 줄 도구를 다운로드하여 사용 하거나 Google 서버에서 수동으로 다운로드하여 사용할 수 있습니다.

최신 버전의 경우 repository.xml 내부의 URL을 확인하십시오 .

명령 행 도구를 수동으로 포장을 풀면 내부의 하위 폴더 $ANDROID_HOME(예 :)에 배치하십시오 $ANDROID_HOME/cmdline-tools/....


1
Java 9 이상을 사용할 때는 지금부터 정답입니다!
Luiggi Mendoza

9

이상하게 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.

8

Java 11이 JavaEE를 제거 했으므로 일부 jar을 다운로드하고 클래스 경로에 추가해야합니다.

JAXB : https://javaee.github.io/jaxb-v2/

JAF : https://www.oracle.com/technetwork/articles/java/index-135046.html

그런 다음 CLASSPATH = ...; % CLASSPATH %로 끝나 도록 sdkmanager.bat를 편집하십시오 .

JAXB 및 JAF를 포함하도록 CLASSPATH를 설정하십시오.

set CLASSPATH=jaxb-core.jar;jaxb-impl.jar;jaxb-api.jar;activation.jar

그러면 sdkmanager.bat가 작동합니다.


작동하지만 다음과 같은 경고 메시지가 나타납니다. 경고 : com.sun.xml.bind.v2.runtime.reflect.opt.Injector (파일 : / F : / android_sdk / java / jaxb-ri / lib / jaxb)의 잘못된 반사 액세스 -impl.jar) 메소드 java.lang.ClassLoader.defineClass (java.lang.String, byte [], int, int)
AndyMc

나중에, 자바와 같은 외모는 JAXB가 사용 (오라클은 자신의 규칙을 위반) 바이 패스 수준의 보안에 반사를 사용하여 나쁜 프로그래밍 습관에 대해 경고하기 시작)
피터 Quiring

4

실행할 때 동일한 문제가 발생했습니다.

$ /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"

이것이 가장 좋은 경우입니다. JAVA_OPTS를 이미 내보내는 경우 이 답변의 단계를 수행하기 전에 먼저 제거하십시오.
소드 제이슨

4

나는 같은 문제에 직면했다. 비록 약간 뒤쳐진 개발자이지만 (Windows를 사용하여 개발 : P)

Windows 에서이 문제를 해결하려면 다음을 수행하십시오.

1 단계 : jdk 8이 설치되어 있지 않은 경우 설치하십시오 (jdk 9 또는 11은 작동하지 않지만 다른 개발 용도로 사용하도록 설치되었을 수 있음).

Chocolatey를 사용하여 매우 간단합니다.

초코 설치 jdk8

Chocolatey를 사용하여 설치 한 경우 2 단계와 3 단계를 건너 뛰십시오.

2 단계 : 환경 변수 설정으로 이동하여 JAVA_HOME TO jdk 8의 설치 디렉토리를 설정하십시오.

JAVA_HOME

3 단계 : 경로 변수로 이동하여 jdk 8의 bin 디렉토리를 추가하고 맨 위로 이동하십시오.

Path_varriable

4 단계 : 열려있는 터미널 세션을 모두 닫고 새 세션을 다시 시작하십시오.

선택 단계 5 : 터미널 실행의 목표에 따라 (sdkmanager를 경로에 추가하거나 디렉토리로 이동해야 할 수도 있음) :

sdkmanager-업데이트

그게 다야! : O 펄럭이다! :디


1
이 답변과 함께 Windows 10에서 저에게 효과적이었습니다!
mauriii

THANKSSSSSSSSSSSSSS
래 가브 조시

2

Windows 시스템의 경우 JDK가 1.8.172 이상인 경우 설치 제거하십시오. JDK 1.8.172 설치

Java 10을 사용하는 Windows 10에서 동일한 문제에 직면했습니다. java 10을 제거하고 java8을 설치했습니다.


2

Linux 사용자 (Kali의 Debian Distro를 사용하고 있습니다) 다음은 내 문제를 해결하는 방법입니다.

jdk-8을 아직 가지고 있지 않다면 오라클 사이트에서 구하십시오.

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

노트

  1. 원래 기사 https://forums.kali.org/showthread.php?41-Installing-Java-on-Kali-Linux 에서 mozilla의 기본 플러그인도 설정되었습니다. 우리는 단순히 안드로이드 용으로 개발하려고하므로 플러그인이 실제로 필요하지 않다고 가정합니다.
  2. @spassvogel의 답변에서와 같이 도구 저장소 목록을 업데이트하는 데 필요하므로 @ repositories.cfg 파일을 ~ / .android 디렉토리에 배치해야합니다
  3. 물건을 옮기려면 루트 권한이 필요할 수 있습니다. 현명하게 sudo를 사용하십시오.
  4. sdkmanager 사용법은 공식 가이드를 참조하십시오 : https://developer.android.com/studio/command-line/sdkmanager

1

명령 줄에서 실행 java -versionjavac -version명령을 실행 하여 동일한 JDK에서 제공되도록합니다 (예 : 버전 1.8.0_181)

그렇지 않은 경우 PATH단일 JDK 만 가리 키도록 변수 를 수정해야합니다 . 방법을 잘 모르는 경우 Java 8 (Windows의 프로그램 추가 / 제거)을 제외한 다른 모든 Java 인스턴스를 제거하십시오. 오늘은 Unity와 Android 모두 JDK 8을 사용하는 것이 좋습니다.

Java 8에서는 java.se.ee다른 답변 중 일부에 표시된 것처럼 모듈 을 내보낼 필요가 없습니다 . 당신은 또한 어떤 제거 할 수 있습니다 JAVA_OPTS또는 다른 환경 변수 가 설정되었는지를.


1

최근에 상위 버전의 JDK를 제거하고 JDK 8을 설치하여이 문제를 해결했습니다. JDK를 설치 한 후 경로를 지정해야합니다. 그런 다음 "C : \ Users \ Milan Adhikari \ AppData \ Local \ Android \ Sdk \ tools"에서 명령 프롬프트를 열고 "sdkmanager --update"를 실행하여 SDK를 업데이트 한 다음 "flutter doctor- -android-licenses "를 cmd로 입력하고 모든 라이센스를 승인하십시오.
이제 문제가 해결되었습니다.


1

필자의 경우 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은 여전히 ​​다른 시스템의 시스템 기본값입니다. libs 등을 섞을 필요가 없습니다 ...

유일한 단점은 이러한 명령 줄 도구를 업데이트하면 이러한 수정 사항이 지워져 다시 수정해야한다는 것입니다.


상단! 감사합니다!
Funder

0

자바 버전을 다운 그레이드하십시오.

Java 버전이 8보다 높지 않아야합니다.

내 경우에는 ide java verion을 변경하면 문제가 해결됩니다. 여기에 이미지 설명을 입력하십시오


0

Android stuio / jre가 다른 버전의 Java를 사용하면이 오류가 발생합니다. 이를 해결하려면 Android studio / jre를 JAVA_HOME으로 설정하십시오. 자신의 자바를 제거하십시오.



0

내 상황에서는 sdkman을 사용하여 여러 Java 버전을 관리하고 있습니다. 기본 Java 버전을 13으로 설정했습니다. 버전 8을 설치하면 정상적으로 작동합니다.


0

가장 좋은 방법은 아래 명령을 사용하는 것입니다

   $ 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 버전을 실행하여 업데이트되었는지 확인하십시오.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.