Lizenzvereinbarung für Android SDK Platform 24 kann nicht akzeptiert werden

119

Beim Versuch, eine Android-Plattform in einem Cordova-Projekt zu installieren, wird folgende Fehlermeldung angezeigt. Ich habe diesen Leitfaden befolgt : https://cordova.apache.org/docs/en/latest/guide/cli/

Bei der Ausführung des folgenden Vorgangs tritt ein Fehler auf: $ cordova platform add android --save

Beim Konfigurieren des Root-Projekts 'android' ist ein Problem aufgetreten. Sie haben die Lizenzvereinbarungen der folgenden SDK-Komponenten nicht akzeptiert: [Android SDK Platform 24].

Ich habe überall nach Möglichkeiten gesucht , die Lizenzvereinbarung von Android SDK Platform 24 zu akzeptieren , aber kein wirkliches Glück.

Vielen Dank im Voraus.

Daneye
quelle
1
Öffnen Sie für Windows den SDK-Manager mit Administratorzugriff. Deaktivieren Sie alle, suchen Sie SDK Platform 24, überprüfen Sie dies und installieren Sie es. Dort können Sie die Lizenz akzeptieren.
Nick Chan Abdullah
1
für mich war das Problem installiert zu haben android-sdkvon mehreren Stellen ( brew, brew caskund android-studio) und nicht den entsprechenden Aufruf sdkmanager --licensesBefehl
Pierre-Alexis de Solminihac
Mögliches Duplikat von Alle SDK-Lizenzen automatisch akzeptieren
user202729

Antworten:

167

Sie können auch einfach ausführen

$ ANDROID_HOME / tools / bin / sdkmanager --licenses

Oder für Windows ausführen

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

(Gutschrift für Windows-Befehl an @ puneet-kumar)

Hardik Patel
quelle
Auf dem Mac ist der SDK in / Library / Android /
Tyler Chong
Funktionierte auch hervorragend für Android 26 und 27. Hatte das gleiche Problem, aber es passierte, als meine Cordova Gradle von 4.0 auf 4.1 aktualisierte
Trevor
@PuneetKumar Dieser Befehl funktioniert bei mir nicht. Ich habe sdkmanager.bat Datei im Ordner tools / bin
Heemanshu Bhalla
in Linux - Bash: / tools / bin / sdkmanager: Keine solche Datei oder Verzeichnis
Niladri Banerjee - Uttarpara
Haben Sie eine Möglichkeit, dies nicht interaktiv auszuführen?
Peter Mounce
163

Ich bin mir nicht ganz sicher, wie Cordova funktioniert, aber sobald die Lizenzen akzeptiert sind, wird eine Datei erstellt. Sie können diese Datei manuell erstellen. Es wird in dieser Frage beschrieben , aber hier sind die Befehle zum Erstellen der erforderlichen Lizenzdatei.

Linux:

mkdir "$ANDROID_HOME/licenses"
echo -e "\n8933bad161af4178b1185d1a37fbf41ea5269c55" > "$ANDROID_HOME/licenses/android-sdk-license"

Windows:

mkdir "%ANDROID_HOME%\licenses"
echo |set /p="8933bad161af4178b1185d1a37fbf41ea5269c55" > "%ANDROID_HOME%\licenses\android-sdk-license"
Mike
quelle
Hey Mike, aus welchem ​​Verzeichnis führe ich diese Befehle aus? Vielen Dank!
Daneye
Das Arbeitsverzeichnis sollte keine Rolle spielen, solange die Umgebungsvariable $ ANDROID_SDK definiert ist. Dies kann auch $ ANDROID_HOME sein. Eine davon sollte definiert werden; Es ist der Speicherort des Android SDK. Sie können 'printenv' eingeben und die definierten Variablen durchsuchen, um sie zu finden. Oder einfach 'echo $ ANDROID_HOME', um zu sehen, ob es gesetzt ist. Dies setzt voraus, dass Linux ... Windows Sie die Umgebungsvariablen durch% ANDROID_SDK% anstelle von $ ANDROID_SDK referenzieren würden.
Mike
5
Zusammen mit dem Fehler gibt Cordova den Pfad zu ANDROID_HOME wieder (falls Sie ihn nicht finden können)! Wenn ANDROID_HOME nicht gesetzt ist, können Sie es manuell so einstellen set ANDROID_HOME="C:\Users\*YOUR_USER_NAME*\AppData\Local\Android\sdk"und die obigen Befehle ausführen.
Arno van Oordt
Die Verwendung von Android Studio und die Installation von Android Version 24 haben dieses Problem für mich behoben.
David Douglas
3
Trotz SDK Build Tools 24 installiert. Mein Problem wurde auf dem Mac nicht behoben. Dies wurde behoben, indem der Lizenzordner und die Datei android-sdk-license wie oben erläutert manuell erstellt wurden
kushalvm
52

Ich hatte dieses Problem unter Mac OS X 10.12.1 mit Cordova 6.4.0 und Android Studio 2.2.3.

Bei der Installation von Android Studio wurde Platform 25 installiert, jedoch nicht 24. So installieren Sie 24:

  • Öffnen Sie Android Studio.
  • Öffnen Android Studio Menu > Preferences.
  • Appearance & Behavior > System Settings > Android SDK
  • Aktivieren Sie das Kontrollkästchen für Android 7.0 (Nougat) | 24
  • Klicken Sie auf OK und folgen Sie den Anweisungen.
jxmallett
quelle
Hinweis: Vergessen Sie nicht, die Android-Version an die fehlende SDK-Plattform anzupassen
Hugo H
2
Ich habe dies getan, aber ich hätte wahrscheinlich ein bisschen Zeit sparen können, indem ich auf "Paketdetails anzeigen" geklickt und nur das SDK ausgewählt hätte, anstatt auch Google APIs und Source zu installieren.
Aaron
Wochen sind seit meinem letzten Build vergangen. Beim erneuten Erstellen meiner App habe ich das gleiche Problem wie oben festgestellt, es jedoch nach dieser Lösung behoben.
Jur P
27

Ich hatte genau das gleiche Problem. Dann habe ich "Android 7.0 (API 24)> SDK Platform" installiert und es hat funktioniert.

Geben Sie hier die Bildbeschreibung ein

Feyyaz
quelle
26

Der einfachste Weg, um dieses Problem zu lösen, besteht darin, die Lizenzen mit dem folgenden Befehl zu akzeptieren:

Windows-Betriebssystem:

C:\Users\{your-username}\AppData\Local\Android\sdk\tools\bin\sdkmanager --licenses

Sie erhalten Haftungsausschlüsse. Um Ihre Entwicklungsbemühungen fortzusetzen, müssen Sie allen Haftungsausschlüssen mit "y" antworten.

Volles Array
quelle
24

Gehe zu Android\sdk\tools\bin

Keine der oben genannten Lösungen funktionierte für mich und schließlich akzeptierte diese einzelne Zeile alle Android-Lizenzen.

yes | sdkmanager --licenses && sdkmanager --update
Vishwaraj
quelle
1
Wenn windowsBenutzer einen Fehler erhalten. Versuchen Sie sdkmanager --licenses && sdkmanager --update, die Lizenzen manuell zu akzeptieren.
Rahmat Ali
Für MacOs gehen Benutzer zu / Users / USERNAME / Library / Android / sdk / tools / bin und yes | ./sdkmanager --licenses. und ./sdkmanager - helfen, mehr zu wissen.
Pushpak Sharma
13

Ich hatte das Problem, dass Sie keinen Ordner kopieren oder erstellen müssen. Achten Sie nur auf Ihren SDK-Pfad. Er muss mit der Umgebungsvariablen (ANDROID_HOME) identisch sein, die für mich nicht identisch war. Keine Ahnung, warum.

SDK-Standort

John
quelle
13

In meinem Fall benutze ich das Android Studio nicht (ich benutze Eclipse). Ich habe den folgenden Schritt ausgeführt: Nur durch Ausführen des Befehls gelöst

android-sdks/tools/bin$ ./sdkmanager --update

Welches ein licensesVerzeichnis erstellt und eine Datei namens android-sdk-licensedarin hinzugefügt .

Dann können Sie ausführen ( licensesOption ist nur verfügbar, wenn Sie den obigen Schritt ausgeführt haben)

android-sdks/tools/bin$ ./sdkmanager --licenses

und akzeptiere die Lizenz (in meinem Fall musste ich das jedoch nicht tun)

BeeZone
quelle
9

Ich habe Android SDK Build-Tools 24 (es ist die aktuelle Version 24.0.3) über SDK Manager installiert. Der Pfad zum Öffnen des SDK-Managers wird in der angehängten IMG-Datei angezeigt. Dies löste mein Problem SDK Manager

BruS
quelle
1
Ich sehe kein angehängtes Bild, aber das hat auch bei mir funktioniert. Es gibt eine Schaltfläche in Android Studio für SDK Manager, und dann können Sie einen eigenständigen SDK-Manager öffnen, mit dem Sie ganz einfach alle Android 24-Inhalte herunterladen können
Yonatan Kogan
Wieder hatte ich das gleiche Problem bei der Installation mit Cordova Build in einem anderen PC mit Windows 7 OS. Diesmal hatte ich Build Tools 24 bereits installiert. Also folgten die von Feyyaz unten erwähnten Schritte. Das ist die Installation von Android 7.0 (API 24) und hat funktioniert. Ich bin der Meinung, dass die neueste Cordova-Version mit mehr als 6 API 24 mit dem Build-Tool 24 oder einer höheren Version benötigt. Aber ich habe keine Dokumentation dafür auf ihrer Website gefunden.
BruS
Unter MacOS und Linux befindet sich der SDK-Manager unter $ ANDROID_HOME / tools / android
Tony Laidig
7

Ich hatte das Android SDK durch die Installation des Android Studio und bekam auch diesen Fehler. Es gibt eine einfache Lösung aus dem Benutzerhandbuch .

  1. Klicken Sie auf einem Computer mit installiertem Android Studio auf Tools > Android > SDK Manager. Notieren Sie oben im Fenster den Speicherort des Android SDK .

  2. Navigieren Sie zu diesem Verzeichnis und suchen Sie das darin enthaltene licenses/Verzeichnis.

    (Wenn Sie kein licenses/Verzeichnis sehen, kehren Sie zu Android Studio zurück und aktualisieren Sie Ihre SDK-Tools. Stellen Sie dabei sicher, dass Sie die Lizenzvereinbarungen akzeptieren. Wenn Sie zum Android SDK-Ausgangsverzeichnis zurückkehren, sollte das Verzeichnis jetzt angezeigt werden.)

  3. Kopieren Sie das gesamte licenses/Verzeichnis und fügen Sie es in das Verzeichnis ein, Android SDK home directoryauf dem Sie Ihre Projekte erstellen möchten.

Java Xu
quelle
7

Dieser Fehler kann auftreten, wenn das System die Umgebungsvariable ANDROID_HOME nicht vom richtigen Pfad aufnimmt. Stellen Sie sicher, dass Sie das Android SDK installiert und die Variable ANDROID_HOME ordnungsgemäß auf den entsprechenden Pfad festgelegt haben, wie in der folgenden Abbildung dargestellt:

ANDROID_HOME_PATH

Wenn die Variable ANDROID_HOME nicht definiert ist, versucht das System, den Pfad aus einem Standardpfad auszuwählen (dies ist möglicherweise nicht der Pfad, in dem das Android SDK definiert ist, was zu diesem Problem führt).

Krishna_Anipindi
quelle
5

Installieren Sie die folgende Komponente:

Geben Sie hier die Bildbeschreibung ein

Sumant Singh
quelle
4

Dies liegt daran, dass zum Zeitpunkt des Schreibens standardmäßig das Ionic CLI- Tool standardmäßig verwendet wird

<preference name="android-targetSdkVersion" value="LATEST_SDK_VERSION"/> 

Aus diesem Grund wird beanstandet, dass Sie keine Lizenzvereinbarung akzeptiert haben, in Wirklichkeit jedoch die SDK-Pakete für diese API- Ebene noch nicht installiert haben und die Lizenz allein akzeptiert haben.

Was Sie also tun müssen, ist entweder

  1. Ändern Sie Ihre SDK-Zielversion
  2. Installieren Sie die neueste SDK-API-Version von SDK Manager

Ändern Ihrer SDK-Version

Sie können dies manuell tun und sogar durch Ausführen überprüfen

ionic cordova platform add android 

Die Datei finden Sie beim your-awesome-app/config.xml Öffnen und Hinzufügen dieser Zeile, da sie wie oben angegeben ausgeblendet ist

<preference name="android-targetSdkVersion" value="24"/>

Wenn Sie nicht sicher sind, auf welche API-LEVEL-Nummer Sie abzielen, öffnen Sie den SDK-Manager und sehen Sie sich die auf Ihrem Computer verfügbaren API-Ebenen (Numbers) an

Installieren des neuesten SDK-Pakets

Sie können die aktuellen SDK-Pakete hinzufügen, die von der CLI angezeigt werden. In Ihrem Fall sind es 24

Führen Sie SDK MANAGERals Admin

Führen Sie SDK Manager als Administrator aus

Installieren Sie die SDK-API-Pakete, auf die Sie abzielen

Hier wird die SDK-API-Ebene geschrieben

Woher wusste ich das? Ich habe es heute Morgen gemacht und so habe ich es gelöst und spiele jetzt Sticky Bubble auf Android , um mich ein bisschen zu entspannen.

Viel Spaß beim Bereitstellen!

Fahad
quelle
Das Hinzufügen targetSdkVersionzur config.xmlDatei hat mein Problem behoben. Vielen Dank :)
B Faley
4

In meinem Fall (Dockerfile-Skript zum Erstellen eines Android CI-Containers - https://github.com/menny/docker_android ) musste ich folgende Schritte ausführen :

mkdir ~/.android && touch ~/.android/repositories.cfg
yes | sdkmanager --licenses
sdkmanager "build-tools;26.0.0"
sdkmanager "platform-tools" "tools"
sdkmanager "platforms;android-26" "platforms;android-25" "platforms;android-24"
.....
sdkmanager --update
yes | sdkmanager --licenses

Zwei Anmerkungen:

  1. Musste eine leere repositories.cfgDatei erstellen oder sdkmanagerwürde sterben.
  2. Musste das Abrufen / Installieren von Paketen in verschiedenen Aufrufen durchführen, da es keine Fortschrittsanzeige gibt.
Menny
quelle
4

Wechseln Sie zu C: \ Benutzer {Benutzer} \ AppData \ Local \ Android \ sdk \ tools \ bin

Führen Sie dann sdkmanager --licenses aus

Sie werden aufgefordert, alle noch zu akzeptierenden Vereinbarungen zu akzeptieren. Sie müssen nur "y" eingeben und eingeben.

Wird das Problem lösen

Lakshitha Ruwan
quelle
Dies ist auch großartig, wenn Sie einen Build-Server haben, der SDKs automatisch herunterladen muss.
Roel
Ich habe das versucht und ich verstehe Couldn't load neither find main class com.android.sdklib.tool.SdkManagerCli. Ideen?
PlayHardGoPro
Dies kann hilfreich sein stackoverflow.com/questions/40718487/… . Sie können versuchen, './SdkManagerCli' im Ordner / sdklib / tools auszuführen.
Lakshitha Ruwan
4

Ich verwende einen Mac und habe ihn mit diesem Befehl behoben:

$ which sdkmanager
/usr/local/bin/sdkmanager
$ /usr/local/bin/sdkmanager --licenses
Warning: File /Users/user/.android/repositories.cfg could not be loaded.
6 of 6 SDK package licenses not accepted.
Review licenses that have not been accepted (y/N)? y

Dann hatte ich eine Liste von 6 Lizenzen zu akzeptieren und es wurde danach gelöst.

Neel
quelle
4

Sie können auch dem "offiziellen" Weg folgen. Führen Sie " sdkmanager --licenses " im Ordner tools / bin der Android SDK-Installation aus und akzeptieren Sie alle Lizenzen. Getan!

c:\android-sdk\tools\bin>sdkmanager --licenses

Für macOS oder Linux ist es der gleiche Befehl.

Georgy K.
quelle
3

Ich musste das Android SDK aktualisieren

android update sdk --no-ui

Irgendwann werden Sie nach einer Lizenzvereinbarung gefragt y. Drücken Sie . Danach müssen Sie die eckige Plattform entfernen.

Tasnim Reza
quelle
3
  1. Gehen Sie zum Speicherort des Android SDK

C: \ Benutzer \ Benutzername \ AppData \ Local \ Android \ sdk \ tools \ bin

  1. Führen Sie den Befehl aus sdkmanager --licenses

  2. Akzeptieren Sie die Lizenz für SDK

Inder malviya
quelle
4
Die gleichen Informationen wurden bereits mehrfach veröffentlicht. Wie können Sie die vorhandenen Antworten verbessern?
Stephen Kennedy
2

Es muss eine neueste stabile SDK-Plattform installiert sein. Ich habe SDK-Platform von API 25 installiert. Es hat mein Problem behoben.Siehe Screenshot unten

Tushar Walzade
quelle
2

Dieses Problem tritt auf, wenn sich bereits eine alte Version von SDK Manager auf dem Computer befindet, von dem aus der Ansatz des Android-Builds geändert wird, für den "Android Studio" erforderlich ist. Ich habe dies in Visual Studio festgestellt, das wiederholt mit der Fehlermeldung "Sie haben die Lizenz für Version 25 nicht akzeptiert" angehalten wurde. Die Lösung hierfür ist "Installieren Sie das Android Studio" und dann "Gehen Sie zu Umgebungsvariablen" und setzen Sie ANDROID_HOME auf "C: \ Benutzer \\ AppData \ Local \ Android \ Sdk" (Dieser Pfad kann aus Android Studio, Menü ausgewählt werden >> Tools >> SDK Manager. Verwenden Sie dasselbe auch im "Pfad" der Umgebungsvariablen. Auf diese Weise wird der neue SDK-Manager für die Abholung durch Visual Studio Build für Cordova Application zugeordnet.

Dies dauerte nur meine 2 Tage Anstrengung zum zweiten Mal

Wünschte, andere verschwenden nicht ihre Zeit in diesem Chaos.

ekambar kodali
quelle
1

Das Ändern des Ziel-Builds funktioniert möglicherweise wie hier angegeben

Wenn Sie die SDK-Version angeben möchten, können Sie dies tun, indem Sie der config.xml im Stammverzeichnis Ihres ionic / cordova-Projekts die folgende Zeile hinzufügen

<preference name="android-targetSdkVersion" value="23"/>
Madhu Kumar
quelle
1

Hoffe, dass dies für jemanden da draußen funktioniert, bei dem
ich das gleiche Problem hatte! Ich hatte 2 SDKS, genannt SDK und SDK1. Es war standardmäßig mit sdk verknüpft, aber das funktionierende war sdk1. Also ging ich zu Environment Varaible und fügte ANDROID_HOME und den Pfad des sdk1 hinzu, dh in meinem Fall C: \ Users \ tripa_000 \ AppData \ Local \ Android \ sdk1 , und mein Problem wurde gelöst!

Tripathee Gaurav
quelle
0

Für mich baute ich das Ionic mit dem Befehl "ionic build android" und bekam das gleiche Problem! Die Lösung war einfach

  • So installieren Sie das erforderliche SDK
  • Führen Sie den gleichen Befehl in CMD als Administrator aus
Adel
quelle
0

Ich bin gerade auf dieses Problem gestoßen, und was es unter Windows für mich gelöst hat, Sie verwenden die Befehlszeile und Sie haben kürzlich das Android SDK installiert. Sie müssen die Eingabeaufforderung oder Power Shell neu starten, nachdem Sie das Android SDK installiert haben.

Norman Breau
quelle
0

Mikes Antwort funktioniert. Die generierte Lizenz muss jedoch unter C: \ Users \ user \ AppData \ Local \ Android \ sdk \ licenses abgelegt werden.

Thyagarajan C.
quelle
0

Der mittlere Fehler entspricht der Android SDK-Version von Cordova mit der von Ihnen installierten Version. Zum Beispiel unterstützt Cordova Android SDK 24, aber Sie haben kein Android SDK 24. Es kann umgekehrt sein.

Yusuf
quelle
0

Dadurch wird Ihr Android SDK aktualisiert und gleichzeitig die Lizenz akzeptiert (z. B. für Android 25):

android update sdk --no-ui --filter build-tools-25.0.0, android-25, extra-android-m2repository

Yann Ulrich
quelle
0

Das Problem für mich war, dass meine Variable ANDROID_HOME auf eine andere Installation gesetzt wurde, die ich vergessen hatte. Wenn dies Ihr Problem ist, löschen Sie die alte Installation.

Cilan
quelle