Flutter.io Android-Lizenzstatus unbekannt

85

[!] Android Toolchain - Entwickeln für Android-Geräte (Android SDK 27.0.3)

• Android SDK a .. \ Android \ sdk • Android NDK-Speicherort nicht konfiguriert (optional; nützlich für die Unterstützung nativer Profilerstellung) • Plattform Android-27, Build-Tools 27.0.3 • Java-Binärdatei unter: C: \ Programme \ Android \ Android Studio \ jre \ bin \ java • Java-Version OpenJDK-Laufzeitumgebung (Build 1.8.0_152-release-1024-b02) X Android-Lizenzstatus unbekannt.

Ich erhalte eine Fehlermeldung mit Android Sdk, wenn ich Flutter Doctor ausführe, obwohl ich immer noch auf meinem Gerät bauen / ausführen kann. Ich war nur neugierig, wie ich dieses Problem beheben kann. Ich glaube, ich habe die aktuellste Version des Android SDK heruntergeladen, nicht sicher, was passiert ist, weil ich dieses Problem letzte Woche nicht hatte.

Neue Probleme

Nachdem einige mögliche Korrekturen in den Kommentaren befolgt wurden, hat dies zu einem neuen Problem geführt. Ich habe neuere Versionen von Android SDK P, 8 und 7 zusammen mit einem neuen JDK10 installiert. Anscheinend immer noch nicht genug aktualisiert.

C:\Flutter\flutter>flutter doctor --android-licenses
A newer version of the Android SDK is required. To update, run:
C:\Users\tdmil\AppData\Local\Android\sdk\tools\bin\sdkmanager --update

C: \ Flutter \ flutter> C: \ Benutzer \ Benutzername \ appdata \ local \ android \ sdk \ tools \ bin \ sdkmanager.bat --update

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
tdmiller
quelle
Könnte für zukünftige Referenzen nützlich sein. Ich habe Windows 10 verwendet und hatte eine JDK 11-Version. Wie von den meisten Leuten vorgeschlagen, habe ich mein JDK auf Version 8 herabgestuft. Dann habe ich ausgeführt flutter doctor. Es heißt immer noch, dass die Lizenz akzeptiert werden muss. Dann lief ich flutter doctor --android-licensesund sagte yesfür alle Lizenzvereinbarungen. Endlich ist das Problem weg :). Take away ist ein Downgrade auf JDK 8, um das Problem zu beheben
Gihanmu

Antworten:

74

Wenn Sie das Android SDK aktualisiert haben, haben sich die Lizenzen möglicherweise geändert. Abhängig davon, wie Sie das Update durchgeführt haben, wurden Sie möglicherweise aufgefordert, die Änderungen zu akzeptieren, oder es wird einfach nicht die Tatsache gespeichert, dass Sie sie auf eine Weise akzeptiert haben, die Flattern verstehen kann.

Versuchen Sie zum Auflösen auszuführen

flutter doctor --android-licenses

Dies sollte Sie auffordern, Lizenzen zu akzeptieren (möglicherweise werden Sie zuerst gefragt, falls Sie nur yeingeben und die Eingabetaste drücken - obwohl dies Ihnen mitteilen sollte).

Wenn Sie danach immer noch Probleme haben, kann es sich lohnen, entweder einen neuen Fehler im Flutter Github-Repository zu öffnen oder einen Kommentar zu einem vorhandenen Problem wie diesem hinzuzufügen, da es möglicherweise das ist, was Sie sehen.

rmtmckenzie
quelle
10
Es sagt mir, dass eine neuere Version des Android SDK erforderlich ist. Führen Sie zum Aktualisieren Folgendes aus: C: \ Benutzer \ abc \ AndroidSDK \ tools \ bin \ sdkmanager --update. Was soll ich machen?
Huzaifa Asif
@ HuzaifaAsif Haben Sie versucht, diesen Befehl auszuführen? Es sollte das Problem hoffentlich beheben. Wenn dies fehlschlägt, möchten Sie möglicherweise eine andere Frage nachschlagen oder eine neue Frage dazu stellen.
rmtmckenzie
2
@HuzaifaAsif, ich war auch ein paar Mal mit diesem Problem konfrontiert. Wie unten von Tommie C beantwortet, versuchen Sie, Java 1.8 manuell zu installieren und $ JAVA_HOME auf den Ordner bin zu setzen, führen Sie dann flutter doctor --android-licenses aus und akzeptieren Sie alle Lizenzen. Ich hoffe es hilft.
Deepak Joshi
@HuzaifaAsif wie Sie das SDK neu installiert haben ... Ich stecke in diesem Fehler fest, da ich Android Studio Version 3.6
Mahmoud Harooney
Nur ein Kopf hoch! Dies funktionierte nur bei Java 8.
Lucas Saldanha
48

Der Fehler:

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

tritt auf, weil die aktuelle SDK-Version nicht mit Java 9 kompatibel ist.

Um dieses Problem zu lösen, können Sie Ihre Java-Version auf Java 8 herunterstufen oder mit einer Problemumgehung die folgende Option auf Ihr Terminal exportieren:

Linux:

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

Windows :

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

Und damit es bleiben, können Sie die JAVA_OPTS in Ihrem Profil - Datei auf Linux exportieren ( .zshrc, .bashrcusw.) oder fügen Sie als Umgebung permanent unter Windows.


Anschließend können Sie den Befehl flutter oder sdkmanager eingeben:

Flattern :

flutter doctor --android-licenses

sdkmanager :

sdkmanager --licenses

und geben Sie bei Bedarf Y ein, um die Lizenzen zu akzeptieren.

ps. Dies funktioniert nicht für Java 11/11 +, das keine Java EE-Module enthält. Für diese Option empfiehlt es sich, ein Downgrade Ihrer Java-Version durchzuführen oder auf ein Flutter- Update zu warten .

Ref: JDK 11: Ende der Straße für Java EE-Module

valdeci
quelle
4
Eine andere Option, wenn Sie sowohl Java 11 als auch Java 8 installiert haben, ist das Exportieren des JAVA_HOME-Punkts nach Java8:export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
Cristiano
1
Ich habe JAVA_HOME in Umgebungsvariablen unter Windows in JDK 8 geändert und es hat funktioniert
GabrielBB
2
Dies funktioniert nicht, da java.se.eees auf den neueren Versionen von Java entfernt wurde
Phani Rithvij
1
In Java 11 ist dies nicht möglich. Sie müssen Java 8 installieren. Siehe diese Antwort
Vahid
29

Die richtige Lösung wäre, wenn Sie dann Android Studio installiert haben

  1. Öffnen Sie den SDK-Manager
  2. Deaktivieren Sie unter SDK-Tools das Kontrollkästchen Veraltete Pakete unten ausblenden
  3. dann sollte eine Option namens angezeigt werden Android SDK Tools (Obsolete)

Geben Sie hier die Bildbeschreibung ein

  1. Überprüfen Sie es und bewerben Sie sich und lassen Sie das Studio das Paket herunterladen
  2. Sobald Sie fertig sind, führen Sie den Befehl aus flutter doctorund Sie sollten nun aufgefordert werden, ihn auszuführen, flutter doctor --android-licenses sobald Sie den Lizenzbefehl ausführen. Akzeptieren Sie alle Lizenzen, indem Sie auf y klicken, und das Problem sollte behoben sein

Geben Sie hier die Bildbeschreibung ein

maheshmnj
quelle
Ist das anders als die Top-Antwort.
tdmiller
1
Dies sind genau die aktuellen offiziellen Dokumente für Mac zum 18. März 2020 - siehe flutter.dev/docs/get-started/install/… . Es ist ein bekanntes Problem .
yair
1
Danke für den Link @yair wusste das nicht
maheshmnj
15

Ich schreibe dies wegen der Frustration bei der Installation von Flatter ... Die meisten Probleme werden durch einfache Konfigurationsprobleme verursacht. Befolgen Sie diese Schritte, um Ihre Probleme zu beheben.

SCHRITT 1: ANDROID-LIZENZEN - Android-Lizenzen lösen die meisten Fälle

Seit Sie hier sind, haben Sie das Problem "Android-Lizenzstatus unbekannt" für die Android-Toolkette erreicht, wie viele vorgeschlagen haben flutter doctor --android-licenses. Wenn Sie mit der ganzen Konfiguration gut sind. Es sollte nach einem Ja fragen und y und Voila drücken. Aber wenn es zeigt a

Geben Sie hier die Bildbeschreibung einAndroid SDKmanager Tool nicht gefunden (C\Users\__\local\Android\sdk\tools\bin\sdkmanager). Fahren Sie mit Schritt zwei fort

SCHRITT 2: SDK Manager-Installation von Android Studio

Öffnen Sie Ihr Android Studio, File-> settings->System settings(left tab) ->Android SDK,gehen Sie zu SDK Tool sectiondieser Seite, deaktivieren Sie veraltete Pakete ausblenden, wählen Sie Android SDL tools(obsolete)und klicken Sie auf Übernehmen .

Geben Sie hier die Bildbeschreibung ein Das SDK wird installiert und Sie bestätigen es, indem Sie überprüfen, ob dieser Pfad vorhanden ist(C\Users\__\local\Android\sdk\tools\bin\sdkmanager)

SCHRITT 3: Wiederholen Sie 1

Wiederholen Sie Schritt 1 nach der Installation in einer neuen Befehlszeile. Überprüfen Sie, ob es funktioniert. Fahren Sie andernfalls mit SCHRITT 4 fort

SCHRITT 4: sdkmanager --update

Sie werden aufgefordert, das SDK zu aktualisieren. Führen Sie einfach den im Terminal angegebenen Befehl aus C\Users\__\local\Android\sdk\tools\bin\sdkmanager --update. Wenn es läuft, ist es cool. Lassen Sie es beenden und wiederholen Sie Schritt 1, sonst wenn es einige Ausnahmen wie java.lang.NoClassDefFoundError: javax/xml/bind/annotation/XmlSchemaetc auslöst, java_error bedeutet dies, dass Ihr Java nicht installiert ist oder nicht die richtige Version. Fahren Sie mit dem nächsten Schritt fort

SCHRITT 5: Pfad JAVA 8.1 und JAVA_HOME.

Installieren Sie JAVA 8.1 und legen Sie den Pfad JAVA_HOME fest. Stellen Sie sicher, dass es sich um Version 8.1 handelt (registrieren Sie ein kostenloses Konto und laden Sie die Version 8.1 von Oracle herunter. Denken Sie daran, dass ab 11+ kein Flattern mehr möglich ist Geben Sie hier die Bildbeschreibung ein

HINWEIS : von yaniv maymon: Wenn Sie Java bereits auf Ihrem Computer installiert haben und das sdkmanager --update immer noch nicht funktioniert. Gehen Sie zur Umgebungsvariablen und aktualisieren Sie den Pfad "JAVA_HOME" zum Ordner "jdk". Beenden Sie dann die Eingabeaufforderung, öffnen Sie sie erneut und führen Sie den Befehl update aus.

SCHRITT 6: Letzter Schritt

Führen Sie den C\Users\__\local\Android\sdk\tools\bin\sdkmanager --update Befehl nach der ordnungsgemäßen Installation und Einrichtung des Pfads in einem neuen Terminal aus, und er funktioniert

SCHRITT 7: Führen Sie den Flatterarzt erneut aus . Sie können sehen, dass der Befehl ausgeführt wird flutter doctor --android-licenses. Führen Sie das flutter doctor --android-licenses Terminal aus und drücken Sie y, wenn Sie dazu aufgefordert werden

Ajay Tom George
quelle
Wenn Sie Java bereits auf Ihrem Computer installiert haben und das sdkmanager --update immer noch nicht funktioniert. Gehen Sie zur Umgebungsvariablen und aktualisieren Sie den Pfad "JAVA_HOME" zum Ordner "jdk". Beenden Sie dann die Eingabeaufforderung, öffnen Sie sie erneut und führen Sie den Aktualisierungsbefehl aus
yaniv maymon
11

Hier sind die Schritte, die mein Problem lösen:

  1. Öffnen Sie Ihr Terminal
  2. Art flutter doctor --android-licenses
  3. Drücken Sie y, um zu akzeptieren. Dieser Vorgang kann mehrmals ausgeführt werden. Erledigt!
Muhammad Fauzi Masykur
quelle
8

Ich habe diese Lösung gefunden , um JDK 8 verwenden zu müssen (Sie benötigen jetzt ein Konto zum Herunterladen!) - verwenden Sie das eingebettete OpenJDK, das mit Android Studio geliefert wird:

Fügen Sie dies Ihrem ~/.profileoder ähnlichem hinzu:

# Use the JDK embedded with Android Studio for command-line builds
export JAVA_HOME='/Applications/Android Studio.app/Contents/jre/jdk/Contents/Home'

Befehlszeilen-Builds über gradlewund jedes andere gut erzogene Skript verwenden dann die Version des SDK, das im Lieferumfang von Android Studio 2.2+ enthalten ist.

* Mein Mac verwendete immer noch das Standard-Java 7.

Aba
quelle
5

Dies war auch mein Problem wie # 16025

Für eine Ausnahme im Thread "main" java.lang.NoClassDefFoundError: javax / xml / bind / annotation / XmlSchema Dieses Problem tritt normalerweise auf, wenn Sie Java 9 zuvor installiert haben. Übrigens ist es nicht kompatibel mit android-sdk. Versuchen Sie, Java 9 JDK zu entfernen, falls es noch vorhanden ist.

Im Allgemeinen werden JAXB-APIs als Java EE-APIs betrachtet und sind daher nicht mehr im Standardklassenpfad in Java SE 9 enthalten. Java 9 führt die Konzepte von Modulen ein, und standardmäßig ist das Aggregatmodul java.se für die Klasse verfügbar Pfad (oder besser Modulpfad). Wie der Name schon sagt, enthält das Aggregatmodul java.se nicht die Java EE-APIs, die traditionell mit Java 6/7/8 gebündelt wurden. Glücklicherweise befinden sich diese Java EE-APIs, die in JDK 6/7/8 bereitgestellt wurden, noch im JDK, befinden sich jedoch standardmäßig nicht im Klassenpfad. Die zusätzlichen Java EE-APIs werden in den folgenden Modulen bereitgestellt

Problemumgehung, wenn Java9 / 10 installiert ist

  1. Öffnen Sie sdkmanager in Ihrem Editor.
  2. Fügen Sie DEFAULT_JVM_OPTS hinzu

Ersetzen

DEFAULT_JVM_OPTS='"-Dcom.android.sdklib.toolsdir=$APP_HOME"'

Mit diesem

DEFAULT_JVM_OPTS='"-Dcom.android.sdklib.toolsdir=$APP_HOME" -XX:+IgnoreUnrecognizedVMOptions --add-modules java.se.ee'
  1. Speichern Sie die Datei, beenden Sie den Editor und führen Sie den Befehl erneut aus.

Für ein unbekanntes Problem mit dem Android-Lizenzstatus habe ich versucht, Folgendes zu lösen:

  1. Öffnen Sie ein Terminal
  2. Wechseln Sie zu Ihrem Android SDK-Speicherort C: \ Benutzer% Benutzer% \ AppData \ Local \ Android \ Sdk \ tools \ bin oder ~ / Library / Android / sdk / tools / bin

  3. Führen Sie den folgenden Befehl aus: ./sdkmanager --license

Verweise

Fehler beim Ausführen von sdkmanager --list (Android SDK) mit Java 9

So lösen Sie java.lang.NoClassDefFoundError: javax / xml / bind / JAXBException in Java 9

Juk
quelle
Ich habe diese Lösung ausprobiert, die Datei scheint sich seitdem leicht geändert zu haben, aber ich habe immer noch die notwendigen Änderungen vorgenommen, aber immer noch kein Glück. Ich denke, ich hoffe nur auf ein Update später, das dies behebt, da ich die Anwendung weiterhin ausführen kann. Trotzdem Danke!
tdmiller
4

Diese Zeile in der GitHub Issue Community hat mein Problem behoben. Hier ist es nur für den Fall, dass es jemand anderem hilft.

@rem Execute sdkmanager

"%JAVA_EXE%" %DEFAULT_JVM_OPTS% -XX:+IgnoreUnrecognizedVMOptions --add-modules java.se.ee %JAVA_OPTS% %SDKMANAGER_OPTS% -classpath "%CLASSPATH%" com.android.sdklib.tool.sdkmanager.SdkManagerCli %CMD_LINE_ARGS%
tdmiller
quelle
4

Hier ist meine Lösung:

  1. Installieren Sie SDKMan

    $ curl -s "https://get.sdkman.io" | bash

  2. Einstellen Ihres bash_profile

    $ source "$HOME/.sdkman/bin/sdkman-init.sh

    $ source ~/.bash_profile

  3. Suchen Sie nach Java SDK und wählen Sie Version installieren

    $ sdk ls java

    $ sdk install java 8.0.192-zulu

  4. Kopieren Sie die Warnmeldung Ihres Flatterarztes, um sdkmanager zu aktualisieren

    $ /Users/YourUserName/Library/Android/sdk/tools/bin/sdkmanager --update

  5. Nach 1 ~ 4 wiederholen Sie es

    $ flutter doctor --android-licenses

ilyi1116
quelle
Halt! Java 8.0.192-Zulu ist nicht verfügbar. Mögliche Ursachen: * 8.0.192-zulu ist eine ungültige Version * Java-Binärdateien sind nicht mit Darwin kompatibel * Java wurde noch nicht veröffentlicht
Hos Mercury
4

Installieren Sie einfach das SDK-Befehlszeilentool (neueste Version) in Android Studio. Geben Sie hier die Bildbeschreibung ein

Nirbhay Rana
quelle
das hat mir auch gefehlt :) Vielen Dank
Abhishek Thapliyal
1
Ich musste das tun, bevor ich rannteflutter doctor --android-licenses
geg
3

MacOS 10.15: Android Studio 3.5.1:

Die Lösung, die für mich funktioniert, war die Verwendung des Java Environment-Tools jenv (installiert über Homebrew ). Dieses Tool ändert das $ JAVA_HOME, wenn zwischen Java-Versionen gewechselt wird .

In meinem Fall habe ich mehrere Java-Versionen installiert und die aktuell verwendete globale Version war die Standardeinstellung. Ich fand es auch notwendig, die Umgebungsvariable $ JAVA_HOME in meinem zu kommentieren, .bash_profilewenn ich dieses Tool verwende.

In Terminal habe ich eingegeben jenv global 1.8, um Java 1.8 anstelle einer späteren Version zum Laufen zu bringen (ich habe mehrere Versionen installiert).

Nachdem:

flutter doctor --android-licenses

ODER

sdkmanager --licenses

beide funktionieren gut.

Hinweis: Möglicherweise müssen Sie Ihre Terminal-Shell beenden und erneut öffnen, wenn Sie die Umgebungsvariable $ JAVA_HOME neu definieren müssen.

Tommie C.
quelle
3

Siehe-- https://robbinespu.gitlab.io/blog/2020/03/03/flutter-issue-fixed-android-license-status-unknown-on-windows/

Öffnen Sie hier Ihren SDK-Manager und deaktivieren Sie das Kontrollkästchen Hide Obsolete Packages

Geben Sie hier die Bildbeschreibung ein

Jetzt sehen Sie Android SDK Tools (Obsolete) 26.1.1erscheint. Kreuzen Sie das Paket an und klicken Sie apply buttondann auf OK. es wird sdk herunterladen. dann restartAndroid Studio

Schön, wenn Sie jetzt laufen flutter doctor, sollten Sie wie unten ein positives Ergebnis erzielen

PS D:\Workplace\flutter_projects> flutter doctor
Doctor summary (to see all details, run flutter doctor -v):
[√] Flutter (Channel stable, v1.12.13+hotfix.8, on Microsoft Windows [Version 10.0.18363.657], locale en-MY)

[√] Android toolchain - develop for Android devices (Android SDK version 29.0.3)
[√] Android Studio (version 3.6)
[√] VS Code (version 1.42.1)
[√] Connected device (1 available)

• No issues found!

PS D:\Workplace\flutter_projects> flutter doctor --android-licenses -v
All SDK package licenses accepted.======] 100% Computing updates...

Führen Sie flutter doctor --android-licensesY aus und geben Sie Y ein, wenn Sie dazu aufgefordert werden

Bei Bedarf können wir das Paket hier manuell herunterladen: https://dl.google.com/android/repository/sdk-tools-windows-4333796.zip (für Windows-Benutzer). Hoffe, dieses Tutorial hilft Menschen, die nach einer Lösung suchen

DV Yogesh
quelle
Das hilft mir wirklich :)
Sag OL
2

Für diejenigen unter Ihnen, die unter Linux arbeiten und währenddessen immer wieder Fehler bekommen flutter doctor --android-licenses .

Beim Versuch, Lizenzen zu akzeptieren, wurde immer wieder die Warnung angezeigt, dass keine Einstellungen erstellt werden konnten. Dies wurde durch Angabe des SDK-Speicherorts behoben:

sdkmanager --sdk_root=/home/adel/bin/android-sdk --licenses

Sdkmanager druckte dann: Alle SDK-Paketlizenzen werden akzeptiert.

Allerdings gab Flutter dem Android-Lizenzstatus weiterhin einen unbekannten Fehler. Und der Versuch, anzurufen, flutter doctor --android-licenseswürde mir das gleiche geben, konnte keinen Einstellungsfehler erzeugen, den ich früher bekam.

Um dies zu beheben, habe ich das sdkmanagerSkript in $ {Speicherort Ihrer Android-Tools} / tools / bin / bearbeitet und die letzte Zeile geändert von:

exec "$JAVACMD" "$@"

Zu:

exec "$JAVACMD" "$@" --sdk_root=/home/adel/bin/android-sdk

Dies würde Flutter dazu bringen, sdkmanager aufzurufen, während das erforderliche sdk_root-Argument übergeben wird. Dies ist ein letzter Aufruf, um flutter doctor --android-licensesdas Problem zu beheben .

Ich musste kein Java 8 verwenden.

Adel Khial
quelle
Vielen Dank für Ihre Antwort, dies hat mein Problem behoben. Ich verstehe nicht, warum jemand es abgelehnt hat. Danke nochmal.
Marihnz0r
Die einzige Lösung im Internet, die für mich funktioniert hat! Danke Kumpel! :)
Punita Ojha
1

Öffnen Sie die Datei flutter_console.bat aus dem Stammordner des flutter SDK und führen Sie den Befehl aus

flutter doctor --android-licenses

Es akzeptiert die Lizenzen für neu heruntergeladene Updates des Android SDK. Sie müssen es jedes Mal ausführen, wenn Sie das Android SDK herunterladen und aktualisieren.

Kiran Maniya
quelle
1

Versuchen Sie, Ihre Java-Version herunterzustufen . Dies geschieht, wenn die Java-Version Ihres Systems nicht mit der von Android kompatibel ist. Sobald Sie die gerade ausgeführte Java-Version geändert flutter doctorhaben, werden die Lizenzen automatisch akzeptiert.

Shabeer Ali
quelle
1

Ich habe meine Java-Version auf 1.8 heruntergestuft und sie wurde behoben. Hier ist der Link zum Herunterladen von JDK8

Führen Sie nach der Installation von JDK8 den folgenden Befehl aus

   flutter doctor --android-licenses
Rahul Kumar
quelle
1

Meine Umgebung: Windows 10 64bit, OpenJDK 14.0.2

Die anfänglichen Fehler sind wie oben angegeben.

Fehler wurde nach behoben

  1. " C: <Installationsordner> \ openjdk-14.0.2_windows-x64_bin \ jdk-14.0.2 " wurde durch "*" ersetzt. C: \ Programme \ Android \ Android Studio \ jre * " in der Umgebungsvariablen PATH & JAVA_HOME ersetzt
  2. lief Flutter Doctor - Android-Lizenzen und wählte y für die Eingabeaufforderungen
Baburaj
quelle
1

In meinem Fall fehlte das Problem Android SDK Command-line tools

Geben Sie hier die Bildbeschreibung ein

Hasan A Yousef
quelle
0

Das gleiche Problem für mich, überprüfen Sie Ihre Java-Version mindestens muss es 1.8 sein

Cesar Rodriguez T.
quelle
0
  1. Öffnen Sie Android Studio.
  2. Gehen Sie zu Datei-> Einstellungen.
  3. Suche nach AndroidSDK.
  4. Aktualisieren Sie Ihre API-Ebene auf die neueste Version.
  5. Laden Sie dann Android Studio neu.
Mohit Jadav
quelle
0

Für jemanden, der immer noch mit dem Problem konfrontiert ist :
Wie unten von Tommie C, Aba und wenigen anderen Personen beantwortet, aber möglicherweise nicht klar genug, wie ich es gefunden habe.
Versuchen Sie, Java 1.8 manuell zu installieren, wie hier unter Windows / Linux beschrieben: [ https://www3.ntu.edu.sg/home/ehchua/programming/howto/JDK_Howto.html]
und setzen Sie die Variable $ JAVA_HOME (jdk-Pfad).
Unter Windows den JDK-Pfad festlegen ($ JAVA_HOME): [ Wie wird Java_Home unter Windows 7 festgelegt? .
Unter Linux: [ /ubuntu/175514/how-to-set-java-home-for-java] .
Führen Sie dann flutter doctor --android-licensesalle Lizenzen aus und akzeptieren Sie sie. Ich hoffe es hilft.

Deepak Joshi
quelle
0

Ich habe JDK 8 heruntergeladen. Dann füge ich den Download des JDK-Dateipfadnamens von JAVA_HOME zu den Benutzervariablen in der Umgebungsvariablen hinzu.

Çağla Doğançay
quelle
0

Ich hatte das gleiche Problem, wie oben erwähnt, habe ich diese ausprobiert.

  1. Installierte JDK 1.8 und setzte meine JAVA_HOME-Umgebung auf 1.8 - Dies funktionierte nicht
  2. Mein Android-Studio zeigte keine "Android SDK Tools (veraltet)" an, hatte aber ein "Android SDK Tools"

Das hat bei mir funktioniert:

  1. Löschen Sie die "Android SDK Tools" aus dem SDK Manager
  2. Installieren Sie es erneut, indem Sie zuerst die Option "Veraltete Pakete ausblenden" deaktivieren und dann "Android SDK-Tools (veraltet)" auswählen und installieren.
  3. ausführen flutter doctor --android-licensesund auswähleny für die Eingabeaufforderungen
  4. laufen flutter doctorund alles wird gut !!!!
Jerric Lyns John
quelle
0

Ich stand vor einem Problem. Der toolsOrdner fehlte auch im Android SDKOrdner. Ich glaube, toolsOrdner erscheint erst nach der Installation Android SDL tools(obsolete). Diese Option war für mich nicht verfügbar.

Lösung: Ich habe die JavaVersion 8 auf Version 12 aktualisiert und konnte die Tools installieren. Möglicherweise wird der Fehler weiterhin angezeigt, Some Android licenses not accepted. To resolve this, run: flutter doctor --android-licenseswährend Sie den Befehl eingeben flutter doctor -v. Führen Sie den Befehl aus flutter doctor --android-licenses. Die Lizenzen werden yesjedes Mal überprüft, wenn Sie auf diese Frage klickenAccept? (y/N):

Hoffentlich hilft es jemandem.

Jasmin
quelle
0

Wenn Sie ein Homebrew-Fass verwenden , können Sie dies tun

brew cask install android-sdk
mkdir ~/Library/Android/sdk/tools
ln -s /usr/local/bin/ ~/Library/Android/sdk/tools/bin
flutter doctor --android-licenses
Bruce
quelle
0

Für Windows-Benutzer besteht eine kurzfristige Lösung darin, ein Downgrade auf JDK8 durchzuführen. Hoffentlich wird das Problem durch Flattern bald behoben, damit Android SDK mit> JDK8 funktioniert.

Hasan Sawan
quelle
0

Nachdem ich viele Analysen für mein Ubuntu 20.04 durchgeführt habe, habe ich die Lösung gefunden

Für mich /home/rk/Android/Sdk/tools/bin/sdkmanagerfehlte der Fehler Schreibberechtigung .

  1. chmod +w home/rk/Android/Sdk/tools/bin/sdkmanager

Führen Sie dann den folgenden Befehl aus.

  1. flutter doctor --android-licenses

Die Lizenzen werden automatisch verarbeitet.

Rajath
quelle
0

Befolgen Sie diese einfachen Schritte.

  1. Gehen Sie zu Tools, dann zu SDK Manager und klicken Sie dann auf Android SDK.
  2. Klicken Sie auf die Registerkarte SDK-Aktualisierungssites.
  3. Aktivieren Sie das Kontrollkästchen https: //..sources, die mit https: // abgerufen werden sollen.
  4. Klicken Sie auf Übernehmen und auf OK.
  5. Starten Sie nun Android Studio neu.
  6. Gehen Sie zu den SDK-Tools und aktivieren Sie das Kontrollkästchen Veraltete Pakete ausblenden.
  7. Warten Sie ungefähr eine Minute, bis die Pakete angezeigt werden.
  8. Wählen Sie dann ein Paket mit dem Namen "Android SDK Tools (veraltet)" und drücken Sie OK.
  9. Installieren Sie das Paket weiter.
  10. Nach der Installation starten Sie Android Studio neu und starten Sie auch cmd neu, dann führen Sie Flutter Doctor aus.
  11. Es wird ein paar Minuten dauern und es sollte funktionieren
Sule Mohammed
quelle
-1

WARNUNG : Diese Antwort ist nützlich, wenn Sie Probleme mit der Umgebungsvariablen JAVA_HOME und deren Richtung haben. Wenn Sie dieses Problem nicht haben, sollten Sie diese Lösung nicht ausprobieren.

Wenn Sie diesen Fehler haben und es mit Flutter Doctor - android-licenses oder sdkmanager --licenses versucht haben und ein Problem mit Ihrer Umgebungsvariablen JAVA_HOME haben, müssen Sie dies lesen.

Ich habe eine MacOS Catalina-Ameise. Ich könnte dieses Problem mit den nächsten Schritten erfolgreich lösen:

  1. Öffnen Sie Ihr Terminal
  2. Typ: open -e .bash_profile (Sie sollten fast zwei Umgebungsvariablen sehen: flattern und JAVA_HOME)
  3. Speichern Sie die dort geschriebene Umgebungsvariable JAVA_HOME in einer textEdit-Datei, wenn Sie dies wünschen, und LÖSCHEN Sie die Umgebungsvariable JAVA_HOME. Speichern Sie das bash_profile.
  4. Gehen Sie erneut zum Terminal und führen Sie source $ HOME / .bash_profile aus
  5. Versuchen Sie es erneut mit dem Flattern, und Sie sollten nicht mehr denselben Fehler sehen.

Bitte lassen Sie mich wissen, wenn Sie Zweifel haben.

Neto Paez
quelle
-1

Folgendes habe ich getan, um mein Problem zu beheben. Bitte beachten Sie, dass Sie Ihre alte Kopie von Android Studio / SDK nicht deinstallieren müssen. Android Studio wird sich darum kümmern, während Sie die neueste Version installieren.

  1. Laden Sie die neueste Version von Android Studio herunter und installieren Sie sie
  2. Befolgen Sie die Anweisungen in diesem Tutorial
  3. Führen Sie nach Abschluss der Installation den Flatterarzt aus und überprüfen Sie, ob Ihr Problem behoben sein sollte. Wenn das Problem behoben ist, muss der Befehl flutter doctor --android-licenses nicht ausgeführt werden.
eVagabond
quelle