Fehler beim Installieren der folgenden Android SDK-Pakete, da einige Lizenzen nicht akzeptiert wurden

113

Ich erhalte diesen Fehler in jitpack, ich habe alles im Internet ausprobiert. Unten ist mein Fehler

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.

Und wenn ich ./sdkmanager --licenses starte

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

Die Verwendung von sudo mit dem obigen Befehl ergibt

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

zusätzliches Fehlerprotokoll

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.

Ich weiß nicht, warum dort nach Lizenzen gesucht wird, wenn mein SDK-Standort ein anderer ist

Reenath Reddy Thummala
quelle
1
Hier scheint es eine etwas verrückte Lösung zu geben , aber es könnte funktionieren!
Jake Lee
2
Ich hatte das gleiche Problem. Ich habe die entsprechenden SDKs über Android Studio heruntergeladen und zu keinem Zeitpunkt nach Lizenzen gefragt. Ein weiteres unnötiges Problem.
Steve Smith

Antworten:

198

Sie müssen die Lizenzen vor dem Erstellen akzeptieren.

Laut Android SDK-Dokumenten können Sie abhängig vom Speicherort des SDK-Managers den folgenden Befehl verwenden: Die --licensesOption " Dokumente ein" scheint jedoch zu fehlen.

yes | sdkmanager --licenses

Ubuntu:

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

Windows:

%ANDROID_HOME%/tools/bin/sdkmanager --licenses
Felix auch
quelle
33
Ich habe diesen FehlerException in thread "main" java.lang.NoClassDefFoundError: javax/xml/bind/annotation/XmlSchema
HendraWD
3
@HendraWD Wenn Sie ein zusätzliches Java auf Ihrem Computer installiert haben (Hinweis: Android Studio verfügt über ein eigenes Java), sollten Sie sicherstellen, dass diese dieselbe Version haben. Andernfalls kann dieser Fehler auftreten. Ich habe es gerade gelöst, indem ich den Pfad "Android Studio / jre" auf JAVA_HOME gesetzt habe.
Licat Julius
7
Für einen Mac ohne Java installiert ist , musste ich export JAVA_HOME=/Applications/Android\ Studio.app/Contents/jre/jdk/Contents/Home, cd ~/Library/Android/sdk/tools/bin, ./sdkmanager --licenses.
Graham Perks
1
FWIW: Es scheint auch, dass nur JDK <11 unterstützt wird, und komischerweise wird Ubuntu 18.04 openjdk 11als Standard-JDK geliefert. Nachdem ich sichergestellt hatte, dass ich eine unterstützte Java-Version verwendete, bekam ich stattdessen Error: Could not create the Java Virtual Machineund stellte fest, dass ich sdkmanagermit sudo aufrufen musste .
JHH
Ich musste den Befehl mit sudo in Ubuntu ausführen, ja | sudo ~ / Android / Sdk / tools / bin / sdkmanager --licenses
mramsath
44

Gehen Sie unter Windows zu Ihrem SDK-Manager-Pfad und führen Sie ihn aus

./sdkmanager.bat --licenses

Sie finden Ihren SDK-Manager in C:\Users\USER\AppData\Local\Android\Sdk\tools\bin

Um Ihren tatsächlichen Android SDK-Pfad zu finden, folgen Sie dem rot markierten Bereich des folgenden Bildes

Geben Sie hier die Bildbeschreibung ein

Masum
quelle
1
Danach können Sie jede Lizenz überprüfen und sie über dasselbe Bash-Fenster entsprechend akzeptieren (Windows CMD gibt einen Fehler aus. Verwenden Sie Git Bash oder eine andere anstelle von Windows CMD)
Tharusha
27

Wenn Sie mit Flutter arbeiten, würde dieser Befehl definitiv für Sie funktionieren.

flutter doctor --android-licenses
Adil Aslam Sachwani
quelle
16

Für Windows habe ich Folgendes für einen platform;android-28Fehler ausgeführt

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

und dann der Lizenz zustimmen

Abenezer Wudenhe
quelle
1
Ich habe. \ sdkmanager.bat --licenses verwendet, aber nicht neu, dass ich "\" anstelle von "/" verwenden musste, danke für die Klarstellung.
Hamza
Führen Sie die Eingabeaufforderung im Administratormodus aus, sonst funktioniert sie nicht
Shashank
15

Sie können die Lizenzvereinbarungen der angegebenen SDKs akzeptieren, indem Sie zum SDK-Manager (Einstellungen> [Nach Android SDK suchen]) gehen, die in der Fehlermeldung angegebenen Pakete suchen und dort suchen. Möglicherweise finden Sie SDKs, die nicht vollständig installiert sind, und bei deren Installation werden Sie aufgefordert, die Lizenzvereinbarung zu akzeptieren.Geben Sie hier die Bildbeschreibung ein

Hamu XD
quelle
1
Vielen Dank! Es half.
Naseem Ahamed
13

Verwendung android-28mit build-toolsat-Version 28.0.3; oder build-toolsbei Version 26.0.3.

oder versuchen Sie dies: yes | sudo sdkmanager --licenses

Martin Zeitler
quelle
2
Unter Windows können Sie einfach alle Fragen ausführen sdkmanager.bat --licensesund yeingeben.
Agung Santoso
11

Das funktioniert bei mir:

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

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

yes | ./sdkmanager --licenses

Angelo Mendes
quelle
1
Hat bei mir gut funktioniert (Ubuntu 19.10, IntelliJ 2019.2.4). Ich musste nur openJDK installieren, weil ich nur das eingebettete JDK hatte, auf das vom Terminal aus nicht sudo apt install openjdk-8-jdk
zugegriffen werden konnte
11

MacOS Catalina

Schritt 1: Ändern der Android Studio-Einstellungen

  1. Öffnen Sie Ihr Android Studio
  2. Drücken Sie Befehl +, oder gehen Sie zu oben links AppBar Android Studio> Einstellungen .
  3. Wählen Sie im linken Bereich Darstellung> Systemeinstellungen> Android SDK
  4. Wählen Sie SDK-Tools neben SDK-Plattformen und unter Android SDK-Speicherort aus
  5. Aktivieren Sie das Kontrollkästchen Android SDK-Befehlszeilentools (aktuell) und drücken Sie OK .
  6. Warten Sie, bis die Installation abgeschlossen ist

Suchen der Einstellungen von Android Studio

Android Studio-Einstellungen

Schritt 2 (für Flatterbenutzer):

  1. Gehen Sie zum Terminal und führen Sie den folgenden Befehl aus

flutter doctor --android-licenses

Schritt 2 (für Android-Benutzer):

  1. Gehen Sie zum Terminal und führen Sie den folgenden Befehl aus

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

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

Zaman
quelle
Danke: Sehr ähnlich auf Centos 7
poleguy
11

In Android Studio gehen zu Extras -> SDK - Manager .

Wechseln Sie zur Registerkarte SDK-Tools .

Wählen Sie die Android SDK-Befehlszeilentools (aktuell) aus und laden Sie sie herunter, indem Sie auf Übernehmen klicken .

Geben Sie hier die Bildbeschreibung ein

Unter Windows finden Sie die Datei sdkmanager.bat unter

C: \ Benutzer \ [Ihr_Benutzer] \ AppData \ Local \ Android \ Sdk \ cmdline-tools \ latest \ bin

Geben Sie hier die Bildbeschreibung ein

George Mano
quelle
4

Scheint im Moment ein Fehler zu sein: https://issuetracker.google.com/issues/123054726

Lösung, die bei mir funktioniert hat:

Erstellen Sie eine .travis.yml-Datei in Ihrem Projektverzeichnis und kopieren Sie die folgenden Zeilen:

before_script:
- mkdir "$ANDROID_HOME/licenses" || true
- echo "24333f8a63b6825ea9c5514f83c2829b004d1fee" > "$ANDROID_HOME/licenses/android-sdk-license"

Referenz: https://github.com/square/RxIdler/pull/18/files

AussieOz
quelle
4

Für Windows-Benutzer Hier können Sie alle Lizenzbedingungen akzeptieren. Fügen Sie das Folgende in Ihr Terminal ein

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

PS: USERNAME ist Ihr PC-Benutzername

Samuel Pinheiro
quelle
3

Sie können es auch über den SDK-Manager direkt in Android Studio installieren:

Tools -> SDK Manager -> Sdk Platforms und dort installieren Sie es direkt und Sie werden aufgefordert, die Lizenzvereinbarung zu akzeptieren

rm -rf
quelle
1

Ich habe festgestellt, dass in Windows Ihre Konsole als Administrator geöffnet sein muss. Andernfalls wird nicht berücksichtigt, dass Sie die Lizenzen akzeptiert haben.

Farkhod
quelle
1

Das ist der Befehl

Ich habe folgendes verwendet:

  • Legen Sie die Route von sdk> AppData \ Local \ Android \ Sdk \ tools \ bin> fest
  • Führen Sie. \ sdkmanager.bat --licenses aus
Frank Portorreal
quelle
1

Ich hatte ein Problem und bin neu in Android Studio. Wenn Sie ursprünglich mit React Native gearbeitet haben und ich versucht habe, eine Apk daraus zu extrahieren.

Ich habe es gelöst, indem ich in Android Studio zum SDK-Manager gegangen bin und API Level 28 installiert habe.

Es hat bei mir funktioniert.

Himanshu Suthar
quelle
1

MacOs Catalina

Installieren Sie einfach die Tools gemäß dem angehängten Image in AndroidSDK >> SDK Tools. Es wird funktionieren. Für mich fehlte "Google Play Licensing Library".

Geben Sie hier die Bildbeschreibung ein

kzncrda
quelle
0

In meinem Fall trat dieses Problem beim Flattern auf weil ich als erstes Android Studio mit dem Standardpaket installiert und dann das Flattern installiert habe. Eine Sache, die Sie hier bemerken können, ist, dass Android Studio keine Lizenz akzeptieren muss. Um dieses Problem zu beheben, müssen wir alle Lizenzen manuell akzeptieren.

Gehen Sie zum sdk>>tools>>binOrdner und führen Sie den folgenden Befehl aus, um alle Lizenzen zu akzeptieren.

. \ sdkmanager.bat --Lizenzen

Sachin
quelle
0

Unter Mac OS 10.15.1 wurde der gleiche Fehler angezeigt, auch nachdem alle Lizenzen durch Ausführen akzeptiert wurden. sdkmanager --licensesDies funktionierte, nachdem ich die Pfadkonfiguration ANDROID_HOME im Profil ~ / .bash_profile auf Folgendes aktualisiert hatte

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

Und laden Sie das ~ / .bash_profile neu

source ~/.bash_profile 
Rangierer
quelle
0

Um die Antworten zu ergänzen, können Sie auch in das Verzeichnis sdkmanager und in eine Sub-Shell wechseln und dort die Lizenzen akzeptieren

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

Ich habe gerade Datei -> Caches ungültig gemacht und neu gestartet. Dann installiere fehlende Pakete. Hat für mich gearbeitet.

user1239490
quelle
0

Für Mac einfach versuchen und dies wird funktionieren:

Öffnen Sie das Terminal und gehen Sie zum unteren Pfad

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

Geben Sie dann den folgenden Befehl ein

yes | ./sdkmanager --licenses && ./sdkmanager --update
Anand_5050
quelle
Wird mit dem folgenden Befehl verwendet, um SDK 8 auf der Cordova Cordova-Plattform zu installieren. Fügen Sie [email protected]
Anand_5050 hinzu.
0

Das funktioniert bei mir:

  1. Öffnen Sie Android Studio

  2. Öffnen Sie Ihr Flutter-Projekt

  3. Öffnen Sie Tools in Android Studio, die oben angezeigt werden. Wählen Sie den SDK-Manager aus und aktivieren Sie das Kontrollkästchen:
    Android 9.0,
    Android 8.1,
    Android 8.0.
    Laden Sie sie herunter und installieren Sie sie. Starten Sie dann Android Studio neu

Kapil Ahuja
quelle
0

In Flutter können Sie Flutter Doctor - Android-Lizenzen ausführen und dann y in alle Lizenzen eingeben

Patrick Simard
quelle
0

Ich habe viele Lösungen ausprobiert, aber bei mir nicht funktioniert. Die folgende Lösung funktioniert für mich.

Suchen Sie die SDK-Manager-Datei im Android SDK.

In meinem Fall: ~ / Android / Sdk / tools / bin

gehe auf diesen Weg: cd ~/Android/Sdk/tools/bin

Lizenzen manuell akzeptieren: ./sdkmanager --licenses Geben Sie Ja oder Ja ein

Shubham Rasal
quelle
richtigen Titel hinzufügen
Schwan vor
-1

Wenn alle oben genannten Dinge nicht funktionieren, ist die bessere Lösung: Installieren Sie das Android SDK neu

Thanh Ho
quelle