Errore "Impossibile installare i seguenti pacchetti SDK Android perché alcune licenze non sono state accettate"


143

Ricevo questo errore in jitpack, ho provato di tutto su Internet. Di seguito è riportato il mio errore

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.

E quando eseguo ./sdkmanager --licenses

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

Usando sudo con il comando precedente dà

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

registro degli errori aggiuntivo

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.

Non so perché sta controllando le licenze lì quando la mia posizione SDK è diversa


1
Sembra esserci una soluzione un po 'folle qui , potrebbe funzionare però!
Jake Lee

2
Ho avuto lo stesso problema. Ho scaricato gli SDK pertinenti tramite Android Studio e in nessun momento mi ha chiesto alcuna licenza. Un altro problema non necessario.
Steve Smith

Risposte:


271

È necessario accettare le licenze prima di creare.

Secondo la documentazione di Android SDK è possibile utilizzare il seguente comando a seconda della posizione di sdkmanager: L' --licensesopzione Docs on sembra mancare.

yes | sdkmanager --licenses

Distribuzioni GNU / Linux:

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

Mac OS:

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

Finestre:

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

42
Ho ricevuto questo erroreException in thread "main" java.lang.NoClassDefFoundError: javax/xml/bind/annotation/XmlSchema
HendraWD

6
@HendraWD Se hai installato un Java extra nel tuo computer (Nota: Android Studio ha il suo Java), dovresti assicurarti che abbiano la stessa versione. Altrimenti potrebbe verificarsi questo errore. L'ho risolto solo ora impostando il percorso "Android Studio / jre" su JAVA_HOME.
Licat Julius

8
Per un Mac senza Java installato, ho dovuto export JAVA_HOME=/Applications/Android\ Studio.app/Contents/jre/jdk/Contents/Home, cd ~/Library/Android/sdk/tools/bin, ./sdkmanager --licenses.
Graham Perks

1
FWIW: Sembra anche che solo JDK <11 sia supportato e, stranamente, Ubuntu 18.04 viene fornito con openjdk 11jdk predefinito. Dopo essermi assicurato di utilizzare una versione java supportata, invece ho ottenuto Error: Could not create the Java Virtual Machine, e ho scoperto che dovevo invocare sdkmanagerusando sudo.
JHH

Ho dovuto eseguire il comando con sudo in Ubuntu, sì | sudo ~ / Android / Sdk / tools / bin / sdkmanager --licenses
mramsath

50

nel sistema operativo Windows vai al tuo percorso sdkmanager quindi esegui

./sdkmanager.bat --licenses

Puoi trovare il tuo sdkmanager in C:\Users\USER\AppData\Local\Android\Sdk\tools\bin

Per trovare il tuo percorso SDK Android effettivo, segui l'area contrassegnata in rosso dell'immagine sottostante

inserisci qui la descrizione dell'immagine


1
Dopodiché puoi rivedere ogni licenza e accettarle di conseguenza attraverso la stessa finestra bash (Windows CMD genera un errore. Usa git bash o altro invece di Windows CMD)
Tharusha

45

Se stai lavorando con Flutter, questo comando funzionerà sicuramente per te.

flutter doctor --android-licenses

1
grazie per avermi salvato il tempo
krissanawat

23

In Android Studio vai su Strumenti -> SDK Manager .

Vai alla scheda Strumenti SDK .

Seleziona gli strumenti della riga di comando dell'SDK Android (più recenti) e scarica premendo Applica .

inserisci qui la descrizione dell'immagine

Su Windows , puoi trovare sdkmanager.bat in

C: \ Users \ [tuo_utente] \ AppData \ Local \ Android \ Sdk \ cmdline-tools \ latest \ bin

inserisci qui la descrizione dell'immagine


Questo ha aiutato
Sachin K

Questo ha risolto il mio problema!
douglasrcjames,

18

È possibile accettare i contratti di licenza degli SDK indicati andando su SDK Manager (Impostazioni> [Cerca Android SDK]), quindi trovare i pacchetti indicati nel messaggio di errore e trovarli lì. È probabile che troverai SDK che non sono completamente installati e installarli ti chiederà di accettare il contratto di licenza.inserisci qui la descrizione dell'immagine


1
Grazie! Ha aiutato.
Naseem Ahamed

16

Per Windows ho eseguito quanto segue per un platform;android-28errore

C:\Android\sdk\tools\bin> .\sdkmanager.bat "platforms;android-28"

e poi acconsenti alla licenza


1
ho usato. \ sdkmanager.bat --licenses ma non ho capito che dovevo usare "\" invece di "/" grazie per il chiarimento.
Hamza

esegui il prompt dei comandi in modalità amministratore altrimenti non funzionerà
Shashank

13

utilizzare android-28con una build-toolsversione 28.0.3; o build-toolsalla versione 26.0.3.

oppure prova questo: yes | sudo sdkmanager --licenses


2
Su Windows puoi semplicemente eseguire sdkmanager.bat --licensese digitare yper tutte le domande.
Agung Santoso

12

MacOS Catalina

Passaggio 1: modifica delle preferenze di Android Studio

  1. Apri il tuo Android Studio
  2. Premi Comando + o vai su AppBar Android Studio in alto a sinistra > Preferenze .
  3. Dal riquadro sinistro, seleziona Aspetto> Impostazioni di sistema> Android SDK
  4. Seleziona Strumenti SDK accanto a Piattaforme SDK e in Posizione SDK Android
  5. Segno di spunta Strumenti della riga di comando dell'SDK Android (più recente) e premere il pulsante OK .
  6. Attendi che l'installazione sia terminata

Individuazione delle preferenze di Android Studio

Preferenze di Android Studio

Passaggio 2 (per utenti Flutter):

  1. Vai a Terminale ed esegui il seguente comando

flutter doctor --android-licenses

Passaggio 2 (per utenti Android):

  1. Vai al Terminale ed esegui il seguente comando

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

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


Grazie: molto simile su Centos 7
Poleguy

11

Questo funziona per me:

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

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

yes | ./sdkmanager --licenses


1
Ha funzionato bene per me (Ubuntu 19.10, IntelliJ 2019.2.4). Dovevo solo installare openJDK perché avevo solo il JDK incorporato, non accessibile dal terminalesudo apt install openjdk-8-jdk
56ka


4

Per utenti Windows Puoi accettare tutti i termini delle licenze qui. Incolla quanto segue sul tuo terminale

C:/Users/USERNAME/AppData/Local/Android/Sdk/tools/bin/sdkmanager.bat --licenses

PS: USERNAME è il nome utente del tuo PC


3

questo è il comando

Ho usato quanto segue:

  • imposta il percorso di sdk> AppData \ Local \ Android \ Sdk \ tools \ bin>
  • eseguire. \ sdkmanager.bat --licenses

3

Puoi anche installarlo tramite SDK Manager direttamente in Android Studio:

Strumenti -> SDK Manager -> Piattaforme Sdk e lì lo installi direttamente e ti viene chiesto di accettare il contratto di licenza


2

In flutter puoi eseguire flutter doctor --android-license quindi digitare y per tutte le licenze


2

nel sistema operativo Windows vai alla directory del percorso sdkmanager in cmd

Puoi trovare il tuo sdkmanager in C: \ Users \ USER \ AppData \ Local \ Android \ Sdk \ tools \ bin

quindi eseguire il seguente comando:

sdkmanager: licenze

dopodiché chiederà più volte di accettare il contratto di licenza, quindi accetta tutto semplicemente digitando y su cmd


1

Ho notato che in Windows, la tua console deve essere aperta come amministratore. Altrimenti non considererà che hai accettato le licenze.


1

Nel mio caso questo problema si è verificato con flutter perché, per prima cosa ho installato Android Studio con il pacchetto predefinito e quindi ho installato flutter. Una cosa che puoi notare qui di default Android Studio non è necessario accettare alcuna licenza, quindi per risolvere questo problema dobbiamo accettare tutte le licenze manualmente.

Vai alla sdk>>tools>>bincartella e quindi esegui il comando seguente per accettare tutte le licenze.

. \ sdkmanager.bat --licenses


1

Su Mac OS 10.15.1, ho ricevuto lo stesso errore anche dopo aver accettato tutte le licenze eseguendo sdkmanager --licensesHa funzionato dopo aver aggiornato la configurazione del percorso ANDROID_HOME in ~ / .bash_profile al seguente

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

E ricarica il file ~ / .bash_profile

source ~/.bash_profile 

1

Per aggiungere alle risposte, puoi anche passare alla directory sdkmanager e in una sotto shell e accettare le licenze lì

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

1

Ho avuto qualche problema e sono nuovo su Android Studio. Se inizialmente stavi lavorando con React Native e stavo cercando di estrarne un apk.

L'ho risolto andando al gestore SDK in Android Studio e ho installato il livello API 28.

Ha funzionato per me.


1

Ho appena fatto File -> Invalida cache e riavvio Quindi installa i pacchetti mancanti. Ha funzionato per me.



1

MacOs Catalina

Basta installare gli strumenti come da immagine allegata in AndroidSDK >> Strumenti SDK funzionerà. Per me mancava "Google Play Licensing Library".

inserisci qui la descrizione dell'immagine


1

Ho provato molte soluzioni ma non ha funzionato per me. La soluzione seguente funziona per me.

individuare il file sdkmanager in Android SDK.

Nel mio caso: ~ / Android / Sdk / tools / bin

vai a quel percorso: cd ~/Android/Sdk/tools/bin

Accetta le licenze manualmente: ./sdkmanager --licenses inserisci Sì o y


aggiungi il titolo appropriato
cigno

1

Se stai usando flutter, segui i seguenti passaggi

1.open the command prompt

Quindi il seguente comando

2.C:\Users\niroshan>flutter doctor

E vedrai i problemi come segue

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.

In realtà quello che devi eseguire è il comando seguente

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

Funziona come un fascino!
abrsh

0

Per Mac basta provare questo e funzionerà:

Apri il terminale e vai al percorso sottostante

cd /Users/anand/Library/Android/sdk
Cd tools/bin

Quindi digita sotto il comando

yes | ./sdkmanager --licenses && ./sdkmanager --update

Usato sotto il comando per installare sdk 8 nella piattaforma cordova cordova aggiungi android@8.0.0
Anand_5050

0

Questo funziona per me:

  1. Apri Android Studio

  2. Apri il tuo progetto Flutter

  3. Apri gli strumenti in Android Studio che saranno in primo piano. Seleziona SDK manager, quindi spunta su:
    Android 9.0,
    Android 8.1,
    Android 8.0.
    Scaricali e installali, quindi riavvia Android Studio


0

Ho provato questo su Android Studio e ha funzionato per me:

Strumenti> SDK Manager (assicurati di selezionare Mostra pacchetti di seguito)

Piattaforme SDK> Mostra pacchetti> Android - 28 Piattaforme SDK> Mostra pacchetti> Android - 28

Strumenti SDK> Mostra pacchetti> 28.0.3 Strumenti SDK> Mostra pacchetti> 28.0.3


0

Su Android Studio 4.1 (potrebbe funzionare su versioni precedenti), vai a SDK Manager ( Tools> SDK Manager) quindi seleziona la piattaforma (in questo caso, Android 8.0 (Oreo) API 26). Fare clic su Apply(vedi screenshot sotto)

Screenshot del menu Android SDK

Ora accetti la licenza del nuovo SDK e scarichi la piattaforma.


-2

Se tutte le cose sopra non funzionano, la soluzione migliore è: reinstallare Android SDK

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.