Status licencji Flutter.io Android nieznany

85

[!] Android toolchain - programowanie dla urządzeń z systemem Android (Android SDK 27.0.3)

• Android SDK a .. \ Android \ sdk • Lokalizacja Android NDK nie została skonfigurowana (opcjonalnie; przydatne do obsługi natywnego profilowania) • Platforma android-27, build-tools 27.0.3 • Java binary pod adresem: C: \ Program Files \ Android \ Android Studio \ jre \ bin \ java • Wersja Java OpenJDK Runtime Environment (kompilacja 1.8.0_152-release-1024-b02) X Status licencji na Androida nieznany.

Gdy uruchamiam Flutter Doctor, pojawia się błąd z Android Sdk, chociaż nadal mogę budować / uruchamiać na moim urządzeniu. Byłem po prostu ciekawy, jak rozwiązać ten problem. Wydaje mi się, że mam najnowszą pobraną wersję pakietu SDK dla systemu Android, nie jestem pewien, co się stało, ponieważ nie miałem tego problemu w zeszłym tygodniu.

Nowe problemy

Po wykonaniu kilku możliwych poprawek w komentarzach doprowadziło to do nowego problemu. Zainstalowałem nowsze wersje Androida SDK P, 8 i 7 wraz z nowym jdk10. Wciąż nie jest wystarczająco zaktualizowany.

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: \ users \ username \ 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
źródło
Może się przydać w przyszłości. Używałem Windowsa 10 i miałem wersję JDK 11. Zgodnie z sugestią większości ludzi obniżyłem JDK do wersji 8. Następnie wykonałem flutter doctor. Nadal powiedział, że licencja musi zostać zaakceptowana. Potem pobiegłem flutter doctor --android-licensesi powiedziałem yeso wszystkich umowach licencyjnych. Wreszcie problem zniknął :). Take away
obniża

Odpowiedzi:

74

Jeśli zaktualizowałeś Android SDK, licencje mogły się zmienić. W zależności od tego, w jaki sposób dokonałeś aktualizacji, możesz zostać poproszony lub nie o zaakceptowanie zmian, a może po prostu nie oszczędza to faktu, że zaakceptowałeś je w sposób zrozumiały dla fluttera.

Aby rozwiązać ten problem, spróbuj uruchomić

flutter doctor --android-licenses

Powinno to zachęcić Cię do zaakceptowania licencji (może Cię najpierw poprosić, na wypadek gdybyś po prostu wpisz yi naciśnij Enter - chociaż powinien ci to powiedzieć).

Jeśli po wykonaniu tej czynności nadal masz problemy, warto otworzyć nowy błąd w repozytorium Flutter Github lub dodać komentarz do istniejącego problemu, takiego jak ten, ponieważ może to być to, co widzisz.

rmtmckenzie
źródło
10
Mówi mi, że wymagana jest nowsza wersja Android SDK. Aby zaktualizować, uruchom: C: \ Users \ abc \ AndroidSDK \ tools \ bin \ sdkmanager --update. Co powinienem zrobić?
Huzaifa Asif
@HuzaifaAsif czy próbowałeś uruchomić to polecenie? Mam nadzieję, że to powinno rozwiązać problem. Jeśli to się nie powiedzie, możesz poszukać innego pytania lub zadać nowe.
rmtmckenzie
2
@HuzaifaAsif, również kilka razy napotkałem ten problem, Jak odpowiedział poniżej Tommie C, Spróbuj ręcznie zainstalować Javę 1.8 i ustawić $ JAVA_HOME na jego folder bin, a następnie uruchom Flutter doctor --android-Licencje i zaakceptuj wszystkie licencje. Mam nadzieję, że to pomoże.
Deepak Joshi
@Huzaifa Jak ponownie zainstalowałeś SDK ... utknąłem w tym błędzie, ponieważ używam Android Studio w wersji 3.6
Mahmoud Harooney
Tylko jedno ostrzeżenie! To działało tylko dla mnie przy użyciu Java 8.
Lucas Saldanha
48

Błą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

występuje, ponieważ bieżąca wersja zestawu SDK jest niezgodna z językiem Java 9.

Aby rozwiązać ten problem, możesz obniżyć wersję Java do Java 8 lub, aby obejść ten problem, możesz wyeksportować następującą opcję na terminalu:

Linux:

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

Okna :

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

I aby go trzymać, można wyeksportować JAVA_OPTS w pliku profilu na platformie Linux ( .zshrc, .bashrci itp) lub dodać jako środowiska na stałe w systemie Windows.


Następnie możesz wpisać polecenie flutter lub sdkmanager:

Trzepotanie :

flutter doctor --android-licenses

sdkmanager :

sdkmanager --licenses

i wpisz Y w razie potrzeby, aby zaakceptować licencje.

ps. To nie działa dla Java 11/11 +, która nie ma modułów Java EE. W przypadku tej opcji dobrym pomysłem jest obniżenie wersji Java lub czekanie na aktualizację Fluttera .

Ref: JDK 11: Koniec drogi dla modułów Java EE

valdeci
źródło
4
inną opcją, jeśli masz zainstalowaną zarówno java 11, jak i 8, jest wyeksportowanie punktu JAVA_HOME do java8:export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
Cristiano
1
Zmieniłem JAVA_HOME na JDK 8 w zmiennych środowiskowych w systemie Windows i zadziałało
GabrielBB
2
to nie działa, ponieważ java.se.eezostało usunięte w nowszych wersjach java
Phani Rithvij
1
Nie możesz tego zrobić w Javie 11. Musisz zainstalować Javę 8. Zobacz tę odpowiedź
Vahid
29

Właściwe rozwiązanie byłoby, gdybyś miał wtedy zainstalowane studio Android

  1. otwórz menedżera SDK
  2. pod narzędziami SDK odznacz ukryj przestarzałe pakiety na dole
  3. wtedy powinieneś zobaczyć opcję o nazwie Android SDK Tools (Obsolete)

wprowadź opis obrazu tutaj

  1. sprawdź to i zastosuj i pozwól studiu pobrać pakiet
  2. po zakończeniu uruchom polecenie flutter doctori powinno teraz wyświetlić monit o uruchomienie flutter doctor --android-licenses po uruchomieniu polecenia licencji zaakceptuj wszystkie licencje, naciskając y, co powinno rozwiązać problem

wprowadź opis obrazu tutaj

maheshmnj
źródło
Czy to inna niż najlepsza odpowiedź.
tdmiller
1
jest to dokładnie aktualna oficjalna dokumentacja dla komputerów Mac na dzień 18 marca 2020 r. - patrz flutter.dev/docs/get-started/install/… . To znany problem .
yair
1
Dzięki za link @yair tego nie wiedział
maheshmnj
15

Piszę to z powodu frustracji przy instalacji fluttera ... Większość problemów jest spowodowana prostymi problemami z konfiguracją. Wykonaj poniższe czynności, aby rozwiązać problemy.

KROK 1: LICENCJE NA ANDROIDA - licencje na Androida rozwiążą większość przypadków

Ponieważ jesteś tutaj, dotarłeś do problemu „Nieznany stan licencji Androida” dla łańcucha narzędzi systemu Android, jak wielu sugerowało spróbować flutter doctor --android-licenses. Jeśli jesteś dobry z całą konfiguracją. Powinien poprosić o odpowiedź tak, a następnie nacisnąć y i Voila. Ale jeśli pokazuje

wprowadź opis obrazu tutajNie znaleziono narzędzia sdkmanager systemu Android (C\Users\__\local\Android\sdk\tools\bin\sdkmanager). Przejdź do kroku drugiego

KROK 2: Instalacja Menedżera SDK z Android Studio

Otwórz swoje Android Studio, File-> settings->System settings(left tab) ->Android SDK,przejdź do SDK Tool sectionna tej stronie, odznacz ukryj przestarzałe pakiety, wybierz Android SDL tools(obsolete)i naciśnij Zastosuj.

wprowadź opis obrazu tutaj Zainstaluje SDK i potwierdzisz to, przechodząc i sprawdzając, czy ta ścieżka istnieje(C\Users\__\local\Android\sdk\tools\bin\sdkmanager)

KROK 3: Powtórz 1

Powtórz krok 1 po instalacji w nowym wierszu poleceń, sprawdź, czy działa, w przeciwnym razie przejdź do KROKU 4

KROK 4: sdkmanager --update

Poprosi Cię o aktualizację sdk, po prostu uruchom polecenie podane w terminalu C\Users\__\local\Android\sdk\tools\bin\sdkmanager --update. Jeśli działa, to jest fajne. pozwól mu zakończyć i powtórz krok 1, w przeciwnym razie, jeśli rzuca jakieś wyjątki, takie jak java.lang.NoClassDefFoundError: javax/xml/bind/annotation/XmlSchemaitp., java_error oznacza to , że twoja java nie jest zainstalowana lub nie jest w poprawnej wersji. Przejdź do następnego kroku

KROK 5: JAVA 8.1 i ścieżka JAVA_HOME.

Zainstaluj JAVA 8.1 i ustaw ścieżkę JAVA_HOME. Upewnij się, że jest to wersja 8.1 (zarejestruj darmowe konto i pobierz z oracle wersję 8.1, pamiętaj, że powyżej 11+ nie będzie działać dla fluttera wprowadź opis obrazu tutaj

UWAGA : przez yaniv maymon: jeśli masz już zainstalowaną Javę na swoim komputerze, a sdkmanager --update nadal nie działa. przejdź do zmiennej środowiskowej i zaktualizuj ścieżkę „JAVA_HOME” do folderu jdk. następnie zamknij wiersz polecenia, otwórz go ponownie i uruchom polecenie aktualizacji -

KROK 6: Ostatni krok

Po prawidłowym zainstalowaniu i skonfigurowaniu ścieżki uruchom C\Users\__\local\Android\sdk\tools\bin\sdkmanager --update polecenie w nowym terminalu i zadziała

KROK 7: Ponownie uruchom lekarza trzepotania , możesz zobaczyć, jak mówi, aby uruchomić polecenie flutter doctor --android-licenses. więc uruchom flutter doctor --android-licenses w terminalu i naciśnij y, gdy zostaniesz o to poproszony

Ajay Tom George
źródło
jeśli masz już zainstalowaną Javę na swoim komputerze, a sdkmanager --update nadal nie działa. przejdź do zmiennej środowiskowej i zaktualizuj ścieżkę „JAVA_HOME” do folderu jdk. następnie zamknij
wiersz
11

Oto kroki, które rozwiązują mój problem:

  1. Otwórz terminal
  2. rodzaj flutter doctor --android-licenses
  3. naciśnij, yaby zaakceptować, proces ten może wystąpić kilka razy. Gotowe!
Muhammad Fauzi Masykur
źródło
8

Znalazłem to rozwiązanie, ponieważ muszę używać JDK 8 (potrzebujesz konta, aby pobrać teraz!) - użyj osadzonego OpenJDK, który jest dostarczany z Android Studio:

Dodaj to do swojego ~/.profilelub podobnego:

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

Kompilacje z wiersza poleceń za pośrednictwem gradlewi każdego innego dobrze działającego skryptu będą następnie używać wersji zestawu SDK dostarczanej z systemem Android Studio 2.2+.

* Mój Mac nadal korzystał z domyślnej wersji Java 7.

Aba
źródło
5

To był także mój problem, tak samo jak # 16025

Dla wyjątku w wątku "main" java.lang.NoClassDefFoundError: javax / xml / bind / annotation / XmlSchema Ten problem wydaje się zwykle występować, gdy wcześniej zainstalowałeś Javę 9. BTW nie jest kompatybilny z android-sdk, spróbuj usunąć Java 9 JDK, jeśli nadal istnieje.

Ogólnie rzecz biorąc, interfejsy API JAXB są uważane za interfejsy API Java EE i dlatego nie są już zawarte w domyślnej ścieżce klasy w języku Java SE 9. W języku Java 9 przedstawiono koncepcje modułów i domyślnie w klasie dostępny jest moduł agregujący java.se. path (a raczej ścieżka modułu). Jak sama nazwa wskazuje, moduł agregujący java.se nie obejmuje interfejsów API Java EE, które były tradycyjnie dołączane do języka Java 6/7/8. Na szczęście te interfejsy API Java EE, które zostały udostępnione w JDK 6/7/8, nadal znajdują się w JDK, ale domyślnie nie znajdują się w ścieżce klas. Dodatkowe interfejsy API Java EE są dostępne w następujących modułach

Rozwiązanie do obejścia, jeśli masz zainstalowaną Javę9 / 10

  1. Otwórz sdkmanager w swoim edytorze.
  2. Dołącz DEFAULT_JVM_OPTS

Zastąpić

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

Z tym

DEFAULT_JVM_OPTS='"-Dcom.android.sdklib.toolsdir=$APP_HOME" -XX:+IgnoreUnrecognizedVMOptions --add-modules java.se.ee'
  1. Zapisz plik i zamknij edytor, a następnie spróbuj ponownie uruchomić polecenie.

W przypadku nieznanego stanu licencji systemu Android próbowałem rozwiązać, wykonując następujące czynności:

  1. Otwórz terminal
  2. Przejdź do lokalizacji Android SDK C: \ Users% user% \ AppData \ Local \ Android \ Sdk \ tools \ bin lub ~ / Library / Android / sdk / tools / bin

  3. Uruchom polecenie: ./sdkmanager --license

Bibliografia

Nie udało się uruchomić sdkmanager --list (Android SDK) z Javą 9

Jak rozwiązać problem java.lang.NoClassDefFoundError: javax / xml / bind / JAXBException w Javie 9

Juk
źródło
Wypróbowałem to rozwiązanie, ale plik wydaje się nieco zmienić od tego czasu, ale nadal wprowadziłem konieczne modyfikacje, ale nadal bez powodzenia. Myślę, że będę mieć nadzieję na późniejszą aktualizację, która to naprawi, ponieważ nadal mogę uruchomić aplikację. W każdym razie dziękuję!
tdmiller
4

Ta linia podana w społeczności GitHub rozwiązała mój problem, tutaj na wszelki wypadek pomoże to komukolwiek innemu.

@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
źródło
4

oto moje rozwiązanie:

  1. zainstaluj SDKMan

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

  2. ustawianie profilu bash_profile

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

    $ source ~/.bash_profile

  3. znajdź sdk java i wybierz, czy chcesz zainstalować wersję

    $ sdk ls java

    $ sdk install java 8.0.192-zulu

  4. skopiuj ostrzeżenie lekarza flutter, aby zaktualizować sdkmanager

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

  5. po 1 ~ 4, powtórz to

    $ flutter doctor --android-licenses

ilyi1116
źródło
Zatrzymać! java 8.0.192-zulu jest niedostępna. Możliwe przyczyny: * 8.0.192-zulu jest nieprawidłową wersją * Pliki binarne java są niekompatybilne z Darwin * java nie została jeszcze wydana
Hos Mercury
4

Wystarczy zainstalować narzędzie wiersza poleceń sdk (najnowsze) poniżej w Android Studio. wprowadź opis obrazu tutaj

Nirbhay Rana
źródło
to też przeoczyłem :)
Wielkie
1
Musiałem to zrobić przed systememflutter doctor --android-licenses
GEG
3

MacOS 10.15: Android Studio 3.5.1:

Rozwiązaniem, które działało u mnie, było użycie narzędzia Java Environment jenv (instalowanego przez homebrew ). To narzędzie zmienia katalog $ JAVA_HOME, gdy przełącza się między wersjami Java.

W moim przypadku mam zainstalowanych wiele wersji Java, a bieżąca używana wersja globalna była domyślna. Zauważyłem również, że podczas korzystania z tego narzędzia konieczne jest wykomentowanie zmiennej środowiskowej $ JAVA_HOME w moim .bash_profile.

W Terminalu wszedłem, jenv global 1.8aby uruchomić java 1.8 zamiast późniejszej wersji (mam zainstalowanych wiele wersji).

Po tym:

flutter doctor --android-licenses

LUB

sdkmanager --licenses

oba działają dobrze.

Uwaga: Jeśli musisz przedefiniować zmienną środowiskową $ JAVA_HOME, może być konieczne zamknięcie i ponowne otwarcie powłoki terminala.

Tommie C.
źródło
3

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

Oto rozwiązanie: otwórz menedżera SDK, a następnie odznacz Hide Obsolete Packages

wprowadź opis obrazu tutaj

Teraz zobaczysz, że Android SDK Tools (Obsolete) 26.1.1pojawi się. Zaznacz ten pakiet i naciśnij apply buttonprzycisk OK. pobierze plik sdk. następnie restartstudio Android

Fajnie, teraz jeśli biegniesz flutter doctor, powinieneś uzyskać pozytywny wynik jak poniżej

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...

Uruchom flutter doctor --android-licensesi wpisz Y, gdy zostaniesz o to zapytany

w razie potrzeby możemy pobrać pakiet ręcznie tutaj https://dl.google.com/android/repository/sdk-tools-windows-4333796.zip (dla użytkownika Windows). Mam nadzieję, że ten samouczek pomoże ludziom, którzy szukają rozwiązania

DV Yogesh
źródło
To naprawdę mi pomogło :)
Powiedz OL
2

Dla tych z Was, którzy korzystają z Linuksa i ciągle otrzymują błędy podczas flutter doctor --android-licenses.

Ciągle otrzymywałem ostrzeżenie nie można utworzyć ustawień podczas próby zaakceptowania licencji, które naprawiłem, określając lokalizację SDK:

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

Następnie Sdkmanager wydrukował: zaakceptowano wszystkie licencje pakietu SDK.

Jednak Flutter nadal podawał nieznany błąd statusu licencji Androida . A próba połączenia flutter doctor --android-licensesdałaby mi to samo, nie mogłem utworzyć błędu ustawień , który otrzymałem.

Aby to naprawić, wyedytowałem sdkmanagerskrypt znajdujący się w $ {lokalizacja twoich narzędzi Androida} / tools / bin / i zmieniłem ostatnią linię z:

exec "$JAVACMD" "$@"

Do:

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

To spowodowałoby, że Flutter wywołałby sdkmanager podczas przekazywania potrzebnego argumentu sdk_root, ostatnie wezwanie do naprawienia flutter doctor --android-licensesproblemu.

Nie musiałem używać Javy 8.

Adel Khial
źródło
Dziękuję za odpowiedź, to rozwiązało mój problem. Nie rozumiem, dlaczego ktoś go zlekceważył. Jeszcze raz dziękuję.
marijnz0r
Jedyne rozwiązanie w Internecie, które działało dla mnie! Dzięki stary! :)
Punita Ojha
1

otwórz plik flutter_console.bat z folderu głównego flutter SDK i uruchom polecenie

flutter doctor --android-licenses

zaakceptuje licencje na nowo pobrane aktualizacje Android SDK. Musisz go uruchamiać za każdym razem, gdy pobierasz i aktualizujesz Android SDK.

Kiran Maniya
źródło
1

Spróbuj obniżyć wersję java , stanie się to, gdy wersja Java twojego systemu nie jest kompatybilna z wersją z Androida. Po zmianie wersji java po prostu uruchomiona flutter doctor, automatycznie zaakceptuje licencje.

Shabeer Ali
źródło
1

Zdegradowałem moją wersję Javy do 1.8 i została rozwiązana, tutaj jest link do pobrania JDK8

Uruchom następujące polecenie po zainstalowaniu JDK8

   flutter doctor --android-licenses
Rahul Kumar
źródło
1

Moje środowisko: Windows 10 64bit, OpenJDK 14.0.2

Początkowe błędy opisano powyżej.

Błąd został rozwiązany po

  1. Zastąpiono „ C: <folder-instalacyjny> \ openjdk-14.0.2_windows-x64_bin \ jdk-14.0.2 ” na „* C: \ Program Files \ Android \ Android Studio \ jre * ” w zmiennej środowiskowej PATH & JAVA_HOME
  2. uruchomiono lekarza flutter - licencje androidowe i wybrano y dla podpowiedzi
Baburaj
źródło
1

W moim przypadku brakowało problemu Android SDK Command-line tools

wprowadź opis obrazu tutaj

Hasan A Yousef
źródło
0

Ten sam problem co do mnie, sprawdź swoją wersję java przynajmniej musi to być 1.8

Cesar Rodriguez T.
źródło
0
  1. Otwórz Android Studio.
  2. Przejdź do Plik-> Ustawienia.
  3. Wyszukaj AndroidSDK.
  4. Zaktualizuj poziom interfejsu API do najnowszej wersji.
  5. Następnie załaduj ponownie Android Studio.
Mohit Jadav
źródło
0

Dla kogoś, kto wciąż boryka się z tym problemem :
jak odpowiedział poniżej Tommie C, Aba i kilka innych osób, ale może nie być wystarczająco jasne, jak je znalazłem.
Spróbuj ręcznie zainstalować Javę 1.8, jak opisano tutaj na windows / linux: [ https://www3.ntu.edu.sg/home/ehchua/programming/howto/JDK_Howto.html]
i ustaw zmienną $ JAVA_HOME (ścieżka jdk).
W systemie Windows ustaw ścieżkę jdk ($ JAVA_HOME): [ Jak ustawić java_home w systemie Windows 7? .
W systemie Linux: [ /ubuntu/175514/how-to-set-java-home-for-java] .
Następnie uruchom flutter doctor --android-licensesi zaakceptuj wszystkie licencje. Mam nadzieję, że to pomoże.

Deepak Joshi
źródło
0

Znalazłem to rozwiązanie, pobieram JDK 8, następnie dodaję ścieżkę pobierania pliku jdk JAVA_HOME do zmiennych użytkownika w zmiennej środowiskowej.

Çağla Doğançay
źródło
0

Napotkałem ten sam problem, jak wspomniano powyżej, wypróbowałem te.

  1. Zainstalowałem JDK 1.8 i ustawiłem środowisko JAVA_HOME na 1.8 - to nie zadziałało
  2. Moje studio Android nie pokazało żadnych „Android SDK Tools (przestarzałe)”, ale miało „Android SDK Tools”

Oto, co zadziałało dla mnie:

  1. Usuń „Android SDK Tools” z Menedżera SDK
  2. Zainstaluj go ponownie, najpierw usuwając zaznaczenie opcji „Ukryj przestarzałe pakiety”, a następnie wybierz „Android SDK Tools (przestarzałe)”, zainstaluj go.
  3. uruchom flutter doctor --android-licensesi wybierzy aby wyświetlić monity
  4. biegnij flutter doctori wszystko będzie dobrze !!!!
Jerric Lyns John
źródło
0

Miałem problem. toolsFolder został również brakuje w Android SDKfolderze. Myślę, że toolsfolder pojawia się dopiero po zainstalowaniuAndroid SDL tools(obsolete ). Ta opcja nie była dla mnie dostępna.

Rozwiązanie: zaktualizowałem Javaz wersji 8 do wersji 12 i mogłem zainstalować narzędzia. Nadal możesz otrzymać błąd Some Android licenses not accepted. To resolve this, run: flutter doctor --android-licensespodczas wydawania polecenia flutter doctor -v. Uruchom polecenie flutter doctor --android-licenses, licencje zostaną przejrzane po kliknięciuyes każdym gdy pojawi się to pytanieAccept? (y/N):

Miejmy nadzieję, że to komuś pomoże.

Jaśmin
źródło
0

Jeśli używasz beczki domowej roboty, możesz to zrobić

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
źródło
0

Dla użytkowników Windows krótkoterminowym rozwiązaniem jest przejście na wersję JDK8. Miejmy nadzieję, że flutter wkrótce rozwiąże problem, aby Android SDK działał z> JDK8.

Hasan Sawan
źródło
0

Po przeprowadzeniu wielu analiz dotyczących mojego Ubuntu 20.04 znalazłem rozwiązanie

dla mnie /home/rk/Android/Sdk/tools/bin/sdkmanagerbrakowało pozwolenia na zapis .

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

Następnie uruchom poniższe polecenie.

  1. flutter doctor --android-licenses

automatycznie przetwarza licencje.

Rajath
źródło
0

Wykonaj te proste kroki.

  1. przejdź do narzędzi, następnie menedżera SDK, a następnie kliknij Android SDK.
  2. kliknij kartę Witryny z aktualizacjami SDK.
  3. zaznacz pole wyboru zawierające https: //..źródła do pobrania przy użyciu https: //.
  4. kliknij zastosuj i ok.
  5. Teraz uruchom ponownie Android Studio.
  6. przejdź do narzędzi SDK i zaznacz pole wyboru Ukryj przestarzałe pakiety.
  7. poczekaj około minuty na pojawienie się paczek.
  8. następnie wybierz pakiet o nazwie „Android SDK tools (przestarzały) i naciśnij OK.
  9. kontynuuj instalację pakietu.
  10. po instalacji zrestartuj android studio, a także uruchom ponownie cmd, a następnie uruchom flutter doctor.
  11. zajmie to kilka minut i powinno działać
sule mohammed
źródło
-1

OSTRZEŻENIE : Ta odpowiedź jest przydatna, jeśli masz problemy ze zmienną środowiskową JAVA_HOME i jej kierunkiem. Jeśli nie masz tego problemu, nie powinieneś próbować tego rozwiązania.

Jeśli masz ten błąd i próbowałeś z flutter doctor --android-license lub sdkmanager --licenses i masz problem ze zmienną środowiskową JAVA_HOME, musisz to przeczytać.

Mam komputer MacOS Catalina i mogę pomyślnie rozwiązać ten problem, wykonując następujące czynności:

  1. Otwórz terminal
  2. Wpisz: open -e .bash_profile (Powinieneś zobaczyć prawie dwie zmienne środowiskowe: flutter i JAVA_HOME)
  3. Jeśli chcesz, zapisz zmienną środowiskową JAVA_HOME zapisaną w pliku textEdit i USUŃ zmienną środowiskową JAVA_HOME. Zapisz plik bash_profile.
  4. Idź ponownie do terminala i uruchom źródło $ HOME / .bash_profile
  5. Spróbuj ponownie trzepot lekarza i nie powinieneś już widzieć tego samego błędu.

Proszę, daj mi znać, jeśli masz wątpliwości.

Neto Paez
źródło
-1

Oto, co zrobiłem, aby rozwiązać problem. Pamiętaj, że nie musisz odinstalowywać starej kopii Android Studio / SDK. Android Studio zajmie się tym podczas instalacji najnowszej wersji.

  1. Pobrano i zainstaluj najnowszą wersję Android Studio
  2. Postępuj zgodnie z instrukcjami zawartymi w tym samouczku
  3. Po zakończeniu instalacji uruchom Flutter doctor i sprawdź, czy problem powinien zostać rozwiązany. Jeśli problem zostanie rozwiązany, nie ma potrzeby uruchamiania polecenia flutter doctor --android-licencje .
eVagabond
źródło