"일부 라이선스가 수락되지 않아 다음 Android SDK 패키지를 설치하지 못했습니다."오류


156

jitpack 에서이 오류가 발생하고 인터넷에서 모든 것을 시도했습니다. 아래는 내 오류입니다.

Failed to install the following Android SDK packages as some licences have not been accepted.
     platforms;android-26 Android SDK Platform 26
     build-tools;28.0.3 Android SDK Build-Tools 28.0.3
  To build this project, accept the SDK license agreements and install the missing components using the Android Studio SDK Manager.

그리고 ./sdkmanager --licenses를 실행할 때

 All SDK package licenses accepted.======] 100% Computing updates...             

위의 명령과 함께 sudo를 사용하면

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

추가 오류 로그

File /opt/android-sdk-linux/.android/repositories.cfg could not be loaded.
Checking the license for package Android SDK Build-Tools 28.0.3 in /opt/android-sdk-linux/licenses
Warning: License for package Android SDK Build-Tools 28.0.3 not accepted.
Checking the license for package Android SDK Platform 26 in /opt/android-sdk-linux/licenses
Warning: License for package Android SDK Platform 26 not accepted.

내 SDK 위치가 다른데 왜 라이선스를 확인하는지 모르겠습니다.


1
여기에 약간 미친 해결책 이있는 것 같지만 작동 할 수 있습니다!
Jake Lee

2
나는 같은 문제가 있었다. Android Studio를 통해 관련 SDK를 다운로드했는데 라이선스에 대해 묻지 않았습니다. 또 다른 불필요한 문제.
스티브 스미스

답변:


293

빌드하기 전에 라이센스에 동의해야합니다.

Android SDK 문서 에 따르면 sdkmanager 위치에 따라 다음 명령을 사용할 수 있습니다. 문서 --licenses옵션이 누락 된 것 같습니다.

yes | sdkmanager --licenses

GNU / Linux 배포판 :

yes | ~/Android/Sdk/tools/bin/sdkmanager --licenses

맥 OS:

export JAVA_HOME=/Applications/Android\ Studio.app/Contents/jre/jdk/Contents/Home
yes | ~/Library/Android/sdk/tools/bin/sdkmanager --licenses

Windows :

%ANDROID_HOME%/tools/bin/sdkmanager --licenses

실룩 거리다:

> flutter doctor --android-licenses

44
이 오류가있어Exception in thread "main" java.lang.NoClassDefFoundError: javax/xml/bind/annotation/XmlSchema
HendraWD

7
@HendraWD 컴퓨터에 추가 Java를 설치 한 경우 (참고 : Android Studio에는 자체 Java가 있음) 동일한 버전이 있는지 확인해야합니다. 그렇지 않으면이 오류가 발생할 수 있습니다. 방금 "Android Studio / jre"경로를 JAVA_HOME으로 설정하여 해결했습니다.
Licat 줄리어스

10
Java가 설치되지 않은 Mac의 export JAVA_HOME=/Applications/Android\ Studio.app/Contents/jre/jdk/Contents/Home경우 cd ~/Library/Android/sdk/tools/bin,, ./sdkmanager --licenses.
Graham Perks

1
FWIW : JDK <11 만 지원되는 것 같습니다. 재미있게도 Ubuntu 18.04가 openjdk 11기본 jdk로 제공됩니다. 지원되는 Java 버전을 사용하고 있는지 확인한 후 대신를 얻었고 sudo를 사용하여 Error: Could not create the Java Virtual Machine호출해야한다는 것을 알았습니다 sdkmanager.
JHH

우분투에서 sudo로 명령을 실행해야했습니다. 예 | sudo ~ / Android / Sdk / tools / bin / sdkmanager --licenses
mramsath

57

Windows OS에서 sdkmanager 경로로 이동 한 다음 실행합니다.

./sdkmanager.bat --licenses

sdkmanager는 다음에서 찾을 수 있습니다. C:\Users\USER\AppData\Local\Android\Sdk\tools\bin

실제 Android SDK 경로를 찾으려면 아래 그림의 빨간색 표시 영역을 따르십시오.

여기에 이미지 설명 입력


1
그런 다음 동일한 bash 창을 통해 각 라이센스를 검토하고 그에 따라 동의 할 수 있습니다 (Windows CMD에서 오류가 발생합니다. Windows CMD 대신 git bash 또는 기타 사용)
Tharusha

46

Flutter로 작업하는 경우이 명령이 확실히 작동합니다.

flutter doctor --android-licenses

29

에서 안드로이드 스튜디오 로 이동 도구 -> SDK 관리자 .

SDK 도구 탭으로 이동합니다 .

선택 안드로이드 SDK 명령 줄 도구 (최신) 을 눌러 다운로드를 적용합니다 .

여기에 이미지 설명 입력

윈도우 , 당신은 sdkmanager.bat에서 찾을 수 있습니다

C : \ Users \ [사용자 _ 사용자] \ AppData \ Local \ Android \ Sdk \ cmdline-tools \ latest \ bin

여기에 이미지 설명 입력


18

SDK 관리자 (설정> [Android SDK 검색])로 이동하여 명시된 SDK의 라이선스 계약에 동의 한 다음 오류 메시지에 표시된 패키지를 찾아서 찾을 수 있습니다. 완전히 설치되지 않은 SDK를 찾을 수 있으며이를 설치하면 라이센스 계약에 동의하라는 메시지가 표시됩니다.여기에 이미지 설명 입력


13

at 버전 android-28과 함께 사용 ; 또는 버전 .build-tools28.0.3build-tools26.0.3

또는 이것을 시도하십시오 : yes | sudo sdkmanager --licenses


2
Windows 에서는 모든 질문을 실행 sdkmanager.bat --licenses하고 입력 할 수 있습니다 y.
Agung Santoso

12

MacOS 카탈리나

1 단계 : Android Studio 환경 설정 변경

  1. Android Studio 열기
  2. Command +를 누르 거나 왼쪽 상단 AppBar Android Studio> Preferences로 이동 합니다.
  3. 왼쪽 창에서 Appearance> System Settings> Android SDK를 선택합니다.
  4. SDK 플랫폼 옆 및 Android SDK 위치 에서 SDK 도구를 선택합니다.
  5. 체크 표시 안드로이드 SDK 명령 줄 도구 (최신) 및 보도 OK의 버튼을 누릅니다.
  6. 설치가 완료 될 때까지 기다립니다.

Android Studio의 환경 설정 찾기

Android Studio 환경 설정

2 단계 (Flutter 사용자 용) :

  1. 터미널로 이동하여 다음 명령을 실행하십시오.

flutter doctor --android-licenses

2 단계 (Android 사용자의 경우) :

  1. 터미널로 이동하여 다음 명령을 실행하십시오.

export JAVA_HOME=/Applications/Android\ Studio.app/Contents/jre/jdk/Contents/Home

yes | ~/Library/Android/sdk/tools/bin/sdkmanager --licenses


11

이것은 나를 위해 작동합니다.

yes | ./sdkmanager "platforms;android-28"

yes | ./sdkmanager "build-tools;28.0.3"

yes | ./sdkmanager --licenses


1
나를 위해 잘 작동했습니다 (Ubuntu 19.10, IntelliJ 2019.2.4). 터미널에서 액세스 할 수없는 임베디드 JDK 만 있었기 때문에 openJDK를 설치해야했습니다sudo apt install openjdk-8-jdk
56ka


3

Windows OS에서 cmd의 sdkmanager 경로 디렉토리로 이동하십시오.

C : \ Users \ USER \ AppData \ Local \ Android \ Sdk \ tools \ bin에서 sdkmanager를 찾을 수 있습니다.

그런 다음 다음 명령을 실행하십시오.

sdkmanager-라이센스

그 후 라이센스 계약을 여러 번 수락하도록 요청한 다음 cmd에 y 를 입력 하여 모두 수락합니다.


2

flutter를 사용하는 경우 다음 단계로 이동하십시오.

1.open the command prompt

그런 다음 다음 명령

2.C:\Users\niroshan>flutter doctor

그리고 다음과 같은 문제를 볼 수 있습니다.

Doctor summary (to see all details, run flutter doctor -v):
[] Flutter (Channel stable, 1.22.2, on Microsoft Windows [Version 10.0.17763.1339], locale en-US)

[!] Android toolchain - develop for Android devices (Android SDK version 30.0.2)
    X Android licenses not accepted.  To resolve this, run: flutter doctor --android-licenses
[!] Android Studio (version 4.1.0)
    X Flutter plugin not installed; this adds Flutter specific functionality.
    X Dart plugin not installed; this adds Dart specific functionality.
[] VS Code (version 1.50.1)
[!] Connected device
    ! No devices available

! Doctor found issues in 3 categories.

실제로 실행해야 할 것은 아래 명령입니다.

C:\Users\niroshan>flutter doctor --android-licenses

1

Mac OS 10.15.1 sdkmanager --licenses에서 ~ / .bash_profile의 ANDROID_HOME 경로 구성을 다음과 같이 업데이트 한 후 작동합니다.

export ANDROID_HOME=/Users/your_username/Library/Android/sdk
export PATH=$PATH:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools
export PATH=$PATH:~/Library/Android/sdk/platform-tools

그리고 ~ / .bash_profile을 다시로드하십시오.

source ~/.bash_profile 

1

답변에 추가하려면 sdkmanager 디렉토리와 하위 셸로 변경하고 거기에서 라이센스를 수락 할 수도 있습니다.

(
    cd /home/user/android-sdk-linux/tools/bin
    yes | ./sdkmanager --licenses
)

1

방금 파일-> 캐시를 무효화하고 다시 시작한 다음 누락 된 패키지를 설치합니다. 나를 위해 일했습니다.


1

나는 많은 해결책을 시도했지만 나를 위해 일하지 않았습니다. 아래 솔루션이 저에게 효과적입니다.

Android SDK에서 sdkmanager 파일을 찾습니다.

제 경우에는 ~ / Android / Sdk / tools / bin

그 경로로 이동하십시오. cd ~/Android/Sdk/tools/bin

수동으로 라이센스 수락 : ./sdkmanager --licenses 예 또는 y를 입력 합니다.


0

Android Studio에서 이것을 시도했고 나를 위해 일했습니다.

도구> SDK 관리자 (아래의 패키지 표시를 확인하십시오)

SDK 플랫폼> 패키지 표시> Android-28 SDK 플랫폼> 패키지 표시> Android-28

SDK 도구> 패키지 표시> 28.0.3 SDK 도구> 패키지 표시> 28.0.3


0

Windows의 경우 :

  1. USER 환경 변수 추가 :

참고 : 경로를 추가해야합니다.

JAVA_HOME           %ProgramFiles%\Android\Android Studio\jre
ANDROID_SDK_ROOT    %LocalAppData%\Android\Sdk
Path                %LocalAppData%\Android\Sdk
  1. 아래 명령을 실행하여 라이센스를 수락하십시오.

참고 : 모든 라이센스를 승인 (예를 들어 y)

%ANDROID_SDK_ROOT%/tools/bin/sdkmanager.bat --licenses
  1. 이제 앱을 실행하십시오.

(아래와 같이 또는 실패한 다른 명령) :

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