Статус лицензии Android Flutter.io неизвестен

>[!] Android toolchain - develop for Android devices (Android SDK 27.0.3)
    >>• Android SDK a ..\Android\sdk
    • Android NDK location not configured (optional; useful for native profiling support)
    • Platform android-27, build-tools 27.0.3
    • Java binary at C:\Program Files\Android\Android Studio\jre\bin\java
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1024-b02)
    X Android license status unknown.

Когда я запускаю Flutter doctor, я получаю сообщение об ошибке с Android SDK, хотя я все еще могу собрать / запустить его на своем устройстве. Мне просто было любопытно, как исправить эту проблему. Я считаю, что у меня загружена самая последняя версия Android SDK, но не знаю, что произошло, потому что на прошлой неделе у меня не было этой проблемы.

## Новые выпуски После нескольких возможных исправлений в комментариях это привело к новой проблеме. Я установил более новые версии android sdk P, 8 и 7 вместе с новым jdk10. По-видимому, все еще недостаточно обновлен.

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

Может быть полезно для будущих ссылок. Я использовал Windows 10 и версию JDK 11. Как было предложено большинством людей, я понизил свой JDK до версии 8. Затем я выполнил flutter doctor. Он по-прежнему говорит, что необходимо принять лицензию. Затем я запустил flutter doctor --android-licenses и сказал yes для всех лицензионных соглашений. Наконец проблема ушла :). Take away - переход на JDK 8 устранит проблему.

Gihanmu 09.06.2020 09:20

Этот ответ был полезен для установки лицензий sdk play store из графического интерфейса студии Android. stackoverflow.com/a/65899101/3834325

Harshfi6 23.05.2021 08:52
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
111
2
158 361
30
Перейти к ответу Данный вопрос помечен как решенный

Ответы 30

Ответ принят как подходящий

Если вы обновили Android SDK, возможно, изменились лицензии. В зависимости от того, как вы выполнили обновление, вам может быть предложено принять изменения, а может и нет, или, может быть, это просто не сохраняет тот факт, что вы их приняли так, как это может понять flutter.

Чтобы решить эту проблему, попробуйте запустить

flutter doctor --android-licenses

Это должно побудить вас принять лицензии (сначала он может спросить вас, в случае, если просто введите y и нажмите ввод - хотя он должен сказать вам об этом).

Если после этого у вас все еще есть проблемы, возможно, стоит либо открыть новую ошибку в Репозиторий Flutter Github, либо добавить комментарий к существующей проблеме, такой как Вот этот, поскольку это может быть то, что вы видите.

Он говорит мне, что требуется более новая версия Android SDK. Для обновления запустите: C: \ Users \ abc \ AndroidSDK \ tools \ bin \ sdkmanager --update. Что мне делать?

Huzaifa Asif 21.10.2019 09:16

@HuzaifaAsif пробовали ли вы запустить эту команду? Надеюсь, это исправит проблему. Если это не удается, вы можете найти другой вопрос или задать новый об этом.

rmtmckenzie 22.10.2019 04:51

@HuzaifaAsif, я также сталкивался с этой проблемой пару раз. Как ответил Томми C ниже, попробуйте установить java 1.8 вручную и установить $ JAVA_HOME в его папку bin, затем запустите flutter doctor --android-licenses и примите все лицензии. Надеюсь, поможет.

Deepak Joshi 20.11.2019 10:40

@HuzaifaAsif, как вы переустановили SDK ... Я застрял в этой ошибке, так как использую Android Studio версии 3.6

Mahmoud Harooney 25.03.2020 22:42

Просто головы! Это сработало только для меня, используя Java 8.

Lucas Saldanha 09.06.2020 12:59

Ошибка: не удалось открыть `C: \ Program Files \ Android \ Android Studio \ jre \ jre \ lib \ amd64 \ jvm.cfg 'Я получаю эту ошибку?

HIMANSHU MISHRA 09.09.2020 19:12

Вот шаги, которые решают мою проблему:

  1. Откройте свой терминал
  2. тип flutter doctor --android-licenses
  3. нажмите y для подтверждения, этот процесс может происходить несколько раз. Сделанный!

Это тоже была моя проблема, такая же, как # 16025

Для исключения в потоке "main" java.lang.NoClassDefFoundError: javax / xml / bind / annotation / XmlSchema Эта проблема обычно возникает, если вы уже установили Java 9 раньше. Кстати, он несовместим с android-sdk, попробуйте удалить Java 9 JDK, если он все еще существует.

In general JAXB APIs are considered to be Java EE APIs, and therefore are no longer contained on the default class path in Java SE 9. Java 9 introduces the concepts of modules, and by default the java.se aggregate module is available on the class path (or rather, module path). As the name implies, the java.se aggregate module does not include the Java EE APIs that have been traditionally bundled with Java 6/7/8. Fortunately, these Java EE APIs that were provided in JDK 6/7/8 are still in the JDK, but they just aren't on the class path by default. The extra Java EE APIs are provided in the following modules

Решение для обходного пути, если у вас установлена ​​Java9 / 10

  1. Откройте sdkmanager в своем редакторе.
  2. Добавить DEFAULT_JVM_OPTS

Заменять

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

С этим

DEFAULT_JVM_OPTS='"-Dcom.android.sdklib.toolsdir=$APP_HOME" -XX:+IgnoreUnrecognizedVMOptions --add-modules java.se.ee'
  1. Сохраните файл и выйдите из редактора, затем попробуйте запустить команду еще раз.

Я попытался решить проблему с неизвестным статусом лицензии Android, выполнив следующие действия:

  1. Открыть терминал
  2. Перейдите в папку с Android SDK. C: \ Users% user% \ AppData \ Local \ Android \ Sdk \ tools \ bin или ~ / Библиотека / Android / SDK / инструменты / bin

  3. Выполните команду: ./sdkmanager --license

Рекомендации

Не удалось запустить sdkmanager --list (Android SDK) с Java 9

Как разрешить java.lang.NoClassDefFoundError: javax / xml / bind / JAXBException в Java 9

Я попробовал это решение, файл, похоже, немного изменился с тех пор, но я все же внес необходимые изменения, но все равно не повезло. Я думаю, что позже буду просто надеяться на обновление, которое исправит это, потому что я все еще могу запускать приложение. В любом случае спасибо!

tdmiller 19.04.2018 16:47

Эта строка, представленная в сообществе GitHub, устранила мою проблему, здесь она на всякий случай, если она поможет кому-то еще.

@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%

Ошибка:

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

происходит потому, что текущая версия SDK несовместима с Java 9.

Итак, чтобы решить эту проблему, вы можете понизить свою версию Java до Java 8 или, используя обходной путь, вы можете экспортировать следующую опцию в свой терминал:

Linux:

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

Окна:

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

И чтобы он закрепился, вы можете экспортировать JAVA_OPTS в файл вашего профиля в Linux (.zshrc, .bashrc и т. д.) Или добавить в качестве среды навсегда в Windows.


Затем вы можете ввести команду flutter или sdkmanager:

Флаттер:

flutter doctor --android-licenses

sdkmanager:

sdkmanager --licenses

и введите Y, когда необходимо принять лицензии.

пс. Это не работает для Java 11/11 +, в котором нет модулей Java EE. Для этого варианта - хорошая идея, понизьте версию Java или дождитесь Flutter Обновить.

Ссылка: JDK 11: конец пути для модулей Java EE

другой вариант, если у вас установлены как java 11, так и 8, - экспортировать точку JAVA_HOME в java8: export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64

Cristiano 17.03.2019 16:28

Я изменил JAVA_HOME на JDK 8 в переменных среды в Windows, и это сработало

GabrielBB 11.08.2019 04:51

это не работает, поскольку java.se.ee удален в более новых версиях java

Phani Rithvij 07.11.2019 15:13

Вы не можете сделать это в Java 11. Вы должны установить Java 8. См. этот ответ

Vahid 20.03.2020 07:24

Если в Linux вы можете использовать: sudo update-alternatives --config java

Jim Newpower 17.12.2020 22:11

Я исправил это, установив инструменты командной строки Android SDK, что можно легко сделать в диспетчере SDK.

Mauro Vanetti 05.03.2021 12:51

В MacOS вместо этого следует следовать этому ответу stackoverflow.com/a/65899101/3834325

Harshfi6 23.05.2021 08:52

У меня такая же проблема, проверьте свою версию Java хотя бы 1,8

откройте файл flutter_console.bat из корневой папки flutter SDK и выполните команду

flutter doctor --android-licenses

он будет принимать лицензии на недавно загруженные обновления Android SDK. Вам нужно запускать его каждый раз, когда вы загружаете и обновляете Android SDK.

вот мое решение:

  1. установить SDKMan

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

  2. установка вашего bash_profile

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

    $ source ~/.bash_profile

  3. найдите java sdk и выберите хотите установить версию

    $ sdk ls java

    $ sdk install java 8.0.192-zulu

  4. скопируйте предупреждающее сообщение от флаттера, чтобы обновить sdkmanager

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

  5. после 1 ~ 4 повторить

    $ flutter doctor --android-licenses

Стоп! java 8.0.192-zulu недоступен. Возможные причины: * 8.0.192-zulu - недопустимая версия * двоичные файлы java несовместимы с Darwin * java еще не выпущен

Hos Mercury 02.03.2020 02:18
  1. Откройте Android Studio.
  2. Перейдите в Файл-> Настройки.
  3. Найдите AndroidSDK.
  4. Обновите свой уровень API до последней версии.
  5. Затем перезагрузите Android Studio.

Попробуйте понижение версии Java, это произойдет, когда версия Java вашей системы несовместима с версией Android. После того, как вы изменили версию java, просто запустите flutter doctor, он автоматически примет лицензии.

Я нашел этот решение из-за необходимости использовать JDK 8 (вам нужна учетная запись для загрузки сейчас!) - используйте встроенный OpenJDK, который поставляется с Android Studio:

Добавьте это на свой ~/.profile или аналогичный:

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

Сборки из командной строки с помощью gradlew и любого другого сценария с хорошим поведением будут использовать версию SDK, которая поставляется с Android Studio 2.2+.

* Мой Mac по-прежнему использовал Java 7 по умолчанию.

MacOS 10.15: Android Studio 3.5.1:

Решение, которое работает для меня, заключалось в использовании Инструмент Java Environmentjenv (устанавливается через домашнее пиво). Этот инструмент изменяет $ JAVA_HOME при переключении между версиями Java.

В моем случае у меня установлено несколько версий Java, и по умолчанию используется текущая глобальная версия. Я также счел необходимым закомментировать переменную окружения $ JAVA_HOME в моем .bash_profile при использовании этого инструмента.

В терминале я ввел jenv global 1.8, чтобы запустить java 1.8 вместо более поздней версии (у меня установлено несколько версий).

После этого:

flutter doctor --android-licenses

ИЛИ ЖЕ

sdkmanager --licenses

оба работают нормально.

Note: You may need to exit and reopen your Terminal shell if you have to redefine the $JAVA_HOME environment variable.

Для тех, кто все еще сталкивается с проблемой:
Как ответил ниже Томми Си, Аба и несколько других людей, но может быть недостаточно ясно, как я нашел. Попробуйте установить Java 1.8 вручную, как описано здесь для windows / linux: [https://www3.ntu.edu.sg/home/ehchua/programming/howto/JDK_Howto.html]
и установка переменной $ JAVA_HOME (путь jdk) .
В Windows установите путь jdk ($ JAVA_HOME): [Как установить java_home в Windows 7?.
В Linux: [https://askubuntu.com/questions/175514/how-to-set-java-home-for-java].
Затем запустите flutter doctor --android-licenses и примите все лицензии. Надеюсь, поможет.

Я понизил свою версию Java до 1.8, и это решено, вот ссылка для загрузки JDK8

После установки JDK8 выполните следующую команду

   flutter doctor --android-licenses

ПРЕДУПРЕЖДЕНИЕ: Этот ответ полезен, если у вас есть проблемы с переменной окружения JAVA_HOME и ее направлением. Если у вас нет этой проблемы, вам не следует пробовать это решение.

Если у вас есть эта ошибка, и вы пробовали использовать flutter doctor --android-licenses или sdkmanager --licenses, и у вас возникла проблема с вашей переменной окружения JAVA_HOME, то вы должны это прочитать.

У меня есть MacOS Catalina, и я могу успешно решить эту проблему, выполнив следующие действия:

  1. Откройте свой терминал
  2. Введите: open -e .bash_profile (вы должны увидеть почти две переменные среды: flutter и JAVA_HOME)
  3. Сохраните переменную среды JAVA_HOME, записанную там, в файле textEdit, если хотите, и УДАЛИТЕ переменную среды JAVA_HOME. Сохраните файл bash_profile.
  4. Снова зайдите в терминал и запустите исходный код $ HOME / .bash_profile
  5. Попробуйте еще раз flutter doctor, и вы больше не увидите ту же ошибку.

Пожалуйста, дайте мне знать, если у вас есть сомнения.

Я нашел это решение. Я загружаю JDK 8, затем добавляю имя пути к файлу JAVA_HOME для загрузки jdk в пользовательские переменные в переменной среды.

Правильным решением будет, если у вас установлена ​​студия Android, тогда

  1. открыть диспетчер SDK
  2. в инструментах SDK снимите флажок скрывать устаревшие пакеты внизу
  3. тогда вы должны увидеть опцию под названием Android SDK Tools (Obsolete)

  1. проверьте и подайте заявку, и пусть студия загрузит пакет
  2. как только закончите, запустите команду flutter doctor, и теперь она должна предложить вам запустить flutter doctor --android-licenses как только вы запустите лицензионную команду, примите все лицензии, нажав y, и это должно решить проблему

Это отличается от верхнего ответа.

tdmiller 16.03.2020 12:59

это в точности текущая официальная документация для Mac по состоянию на 18 марта 2020 года - см. flutter.dev/docs/get-started/install/…. Это известная проблема.

yair 18.03.2020 16:28

Спасибо за ссылку, @yair этого не знал

Mahesh Jamdade 18.03.2020 16:51

Это сработало для меня в новой сборке. Другие варианты переменных ENV и / или устаревших пакетов не работали. Я использую Neo4j с JAVA 11, поэтому я хотел использовать эту версию. Не уверен, почему разработчики так усложняют задачу. Потратил на это час и даже еще не установил.

Marty Spallone 18.03.2021 02:03

Я пишу это из-за разочарования при установке flutter ... Большинство проблем вызвано простыми проблемами конфигурации. Выполните следующие действия, чтобы решить ваши проблемы.

ШАГ 1. ЛИЦЕНЗИИ ANDROID --android-licenses, решит большинство случаев

Поскольку вы находитесь здесь, вы столкнулись с проблемой «Android License Status Unknown» для цепочки инструментов Android, как многие предлагали tryflutter doctor --android-licenses. Если вы хорошо разбираетесь в config. Он должен спросить «да», нажать y и вуаля. Но если он показывает

Android sdkmanager tool не найден (C\Users\__\local\Android\sdk\tools\bin\sdkmanager). Перейти к шагу два

ШАГ 2: установка SDK Manager из Android Studio

Откройте Android Studio, File-> settings->System settings(left tab) ->Android SDK, перейдите к SDK Tool section на этой странице, снимите флажок «Скрыть устаревшие пакеты», выберите Android SDL tools(obsolete) и нажмите «Применить».

Он установит SDK, и вы подтвердите его, перейдя и проверив, существует ли этот путь (C\Users\__\local\Android\sdk\tools\bin\sdkmanager)

ШАГ 3: повторить 1

Повторите шаг 1 после установки в новой командной строке, проверьте, работает ли он, иначе перейдите к ШАГУ 4

ШАГ 4: sdkmanager --update

Он попросит вас обновить SDK, просто запустите команду, указанную в терминале C\Users\__\local\Android\sdk\tools\bin\sdkmanager --update. Если он запущен, то это круто. дайте ему закончить и повторите шаг 1, иначе, если он выбрасывает некоторые исключения, такие как java.lang.NoClassDefFoundError: javax/xml/bind/annotation/XmlSchema и т. д., java_error это означает, что ваша java не установлена ​​или неправильная версия. Перейти к следующему шагу

ШАГ 5:JAVA 8.1 и путь JAVA_HOME.

Установите JAVA 8.1 и укажите путь JAVA_HOME. Убедитесь, что это версия 8.1 (зарегистрируйте бесплатную учетную запись и загрузите с Oracle версию 8.1, помните, что выше 11+ не работает для flutter

ПРИМЕЧАНИЕ: автор Янив маймон: если на вашем компьютере уже установлена ​​Java, а sdkmanager --update все еще не работает. перейдите в переменную среды и обновите путь "JAVA_HOME" до папки jdk. затем выйдите из командной строки, откройте ее снова и запустите команду обновления -

ШАГ 6: Заключительный шаг

После правильной установки и настройки пути запустите C\Users\__\local\Android\sdk\tools\bin\sdkmanager --updateкоманда в новом терминале, и он заработает.

ШАГ 7: Повторите запуск доктора трепетания, Вы можете видеть, что он говорит о запуске команды flutter doctor --android-licenses. поэтому запустите flutter doctor --android-licenses в терминале и нажмите y, когда его спросят

если на вашем компьютере уже установлена ​​Java, а sdkmanager --update все еще не работает. перейдите в переменную среды и обновите путь "JAVA_HOME" до папки jdk. затем выйдите из командной строки, откройте ее снова и запустите команду обновления

yaniv maymon 20.03.2020 18:52

Я столкнулся с той же проблемой, как упоминалось выше, я пробовал их.

  1. Установил JDK 1.8 и установил для моего JAVA_HOME env значение 1.8 - это не сработало.
  2. Моя студия Android не показывала «Инструменты Android SDK (устаревшие)», но имела «Инструменты Android SDK»

Вот что сработало для меня:

  1. Удалите "Android SDK Tools" из SDK Manager.
  2. Переустановите его, сначала сняв флажок «Скрыть устаревшие пакеты», а затем выберите «Инструменты Android SDK (устаревшие)», установите его.
  3. запустите flutter doctor --android-licenses и выберите y для запросов
  4. запускай flutter doctor и все будет хорошо !!!!

Вот что я сделал, чтобы исправить свою проблему. Обратите внимание, что вам не нужно удалять старую копию Android Studio / SDK. Android Studio позаботится об этом, пока вы устанавливаете последнюю версию.

  1. Скачал и установил последнюю версию Android Studio
  2. Следуйте инструкциям в этом руководство
  3. После завершения установки запустите трепещущий доктор и убедитесь, что ваша проблема должна быть решена. Если проблема решена, нет необходимости запускать команду flutter doctor - лицензии на андроид.

Для тех из вас, кто работает в Linux и продолжает получать ошибки во время flutter doctor --android-licenses.

Я продолжал получать предупреждение не удалось создать настройки при попытке принять лицензии, что я исправил, указав местоположение SDK:

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

Затем Sdkmanager напечатал: все лицензии на пакеты SDK приняты.

Однако Flutter продолжал выдавать ошибку статус лицензии Android неизвестен. И попытка вызвать flutter doctor --android-licenses дала бы мне ту же ошибку не удалось создать настройки, которую я получал раньше.

Чтобы исправить это, я отредактировал сценарий sdkmanager, расположенный в $ {расположение ваших инструментов Android} / tools / bin /, и изменил последнюю строку с:

exec "$JAVACMD" "$@"

К:

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

Это заставит Flutter вызывать sdkmanager при передаче необходимого аргумента sdk_root, последний вызов flutter doctor --android-licenses устранил проблему.

Мне не пришлось использовать Java 8.

Спасибо за ответ, это устранило мою проблему. Я не понимаю, почему кто-то проголосовал против. Еще раз спасибо.

marijnz0r 16.05.2020 17:29

Единственное решение в Интернете, которое сработало для меня! Спасибо дружище! :)

Punita Ojha 30.08.2020 21:53

Обратитесь - https://robbinespu.gitlab.io/blog/2020/03/03/flutter-issue-fixed-android-license-status-unknown-on-windows/

Итак, вот решение, откройте диспетчер SDK, затем снимите флажок Hide Obsolete Packages

Теперь вы увидите Android SDK Tools (Obsolete) 26.1.1. Отметьте этот пакет и нажмите apply button, затем кнопку ОК. он загрузит sdk. затем restart Android studio

Хорошо, теперь, если вы запустите flutter doctor, вы должны получить положительный результат, как показано ниже.

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

Запустите flutter doctor --android-licenses и введите Y, когда вас спросят.

при необходимости мы можем загрузить пакет вручную здесь https://dl.google.com/android/repository/sdk-tools-windows-4333796.zip (для пользователя Windows). Надеюсь, это руководство поможет людям, которые ищут решение.

Это мне очень помогает :)

Say OL 07.07.2020 01:26

Я столкнулся с проблемой. Папка tools также отсутствовала в папке Android SDK. Я считаю, что папка tools появляется только после установки Android SDL tools(obsolete). Этот вариант был недоступен для меня.

Решение: Я обновил Java с версии 8 до версии 12, и мне удалось установить инструменты. Вы все еще можете получить ошибку Some Android licenses not accepted. To resolve this, run: flutter doctor --android-licenses, давая команду flutter doctor -v. Запустите команду flutter doctor --android-licenses, лицензии будут проверяться, когда вы нажимаете yes каждый раз, когда появляется этот вопрос Accept? (y/N):

Надеюсь, это кому-то поможет.

Если вы используете бочка для домашнего пивоварения, вы можете сделать

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

Кратковременным решением для Windows люди является переход на JDK8. Надеюсь, flutter скоро решит проблему для Android SDK, который будет работать с> JDK8.

Моя среда: 64-разрядная Windows 10, OpenJDK 14.0.2

Исходные ошибки указаны выше.

Ошибка была устранена после

  1. Заменено "C: <папка установки> \ openjdk-14.0.2_windows-x64_bin \ jdk-14.0.2" на "* C: \ Program Files \ Android \ Android Studio \ jre *" в переменной окружения PATH & JAVA_HOME
  2. запустил flutter doctor - лицензии на андроид и выбрал у для подсказок

После большого анализа моей Ubuntu 20.04 я нашел решение.

для меня ошибка заключалась в том, что в /home/rk/Android/Sdk/tools/bin/sdkmanager отсутствовало разрешение написать.

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

Затем запустите приведенную ниже команду.

  1. flutter doctor --android-licenses

он автоматически обрабатывает лицензии.

Следуйте этим простым шагам.

  1. перейдите в инструменты, затем диспетчер SDK, затем нажмите Android SDK.
  2. перейдите на вкладку Сайты обновлений SDK.
  3. установите флажок, в котором указано https: //..источники, которые будут извлекаться с использованием https: //.
  4. нажмите «Применить» и ОК.
  5. Теперь перезапустите студию Android.
  6. перейдите к инструментам SDK и установите флажок Скрыть устаревшие пакеты.
  7. подождите около минуты, пока не появятся пакеты.
  8. затем выберите пакет под названием «инструменты SDK для Android (устаревшие)» и нажмите «ОК».
  9. продолжить установку пакета.
  10. после установки перезапустите android studio, а также перезапустите cmd, затем запустите flutter doctor.
  11. это займет пару минут и должно сработать

Просто установите инструмент командной строки sdk (последний), как показано ниже, в студии Android.

я тоже этого пропустил :) Большое спасибо

Abhishek Thapliyal 29.09.2020 09:40

Мне пришлось это сделать до запуска flutter doctor --android-licenses

geg 01.10.2020 16:05

это самый полезный ответ, по крайней мере, для моей машины ubuntu.

Iqbal Safian 15.01.2021 09:48

Спасибо, самый полезный ответ !!

Raghav Maheshwari 16.01.2021 18:55

Это отлично работает, ты братан!

Reiko Dev 08.03.2021 21:52

не могу передать, как я благодарен! Благодаря тонну!!!

Suraj Oberai 27.03.2021 06:23

Спасибо, мужик! ты сэкономил время

Nik 11.05.2021 17:44

Работает хорошо! Спасибо

SandaliTP 15.05.2021 13:59

Спасибо. работает хорошо

Zohaib Tariq 16.05.2021 19:56

Используя cmdline-tools без Android Studio, вместо этого вызовите sdkmanager "cmdline-tools;latest" в командной строке.

BingLi224 19.05.2021 15:59

В течение нескольких дней я пробовал все, что нахожу в Интернете, и вот эта небольшая помощь - это то, чего мне не хватало. Спасибо. Идк, почему это не принятый ответ.

Dev.Mehul 27.05.2021 09:23

В моем случае проблема заключалась в отсутствии Android SDK Command-line tools

Другие вопросы по теме