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


87

[!] Набор инструментов Android - разработка для устройств Android (Android SDK 27.0.3) >> • Android SDK a .. \ Android \ sdk • Местоположение Android NDK не настроено (необязательно; полезно для поддержки нативного профилирования) • Платформа android-27, build-tools 27.0.3 • Бинарный файл Java в C: \ Program Files \ Android \ Android Studio \ jre \ bin \ java • Версия Java Среда выполнения OpenJDK (сборка 1.8.0_152-release-1024-b02) X Статус лицензии Android неизвестен.

Когда я запускаю 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 устранит проблему
Гиханму,

Ответы:


77

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

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

flutter doctor --android-licenses

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

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


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

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

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

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

Всего глав вверх! Это сработало только для меня с использованием Java 8.
Лукас Салдана

50

Ошибка:

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'

Windows :

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


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

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

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

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

Если в Linux вы можете использовать: sudo update-alternatives --config java
Джим Ньюпауэр

30

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

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

введите описание изображения здесь

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

введите описание изображения здесь


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

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

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

15

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

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

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

введите описание изображения здесьИнструмент Android sdkmanager не найден (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 введите описание изображения здесь

ЗАМЕТКА : от yaniv maymon: если на вашем компьютере уже установлена ​​Java, а sdkmanager --update все еще не работает. перейдите в переменную среды и обновите путь "JAVA_HOME" до папки jdk. затем выйдите из командной строки, откройте ее снова и запустите команду обновления -

ШАГ 6: Последний шаг

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

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


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

11

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

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

8

Я нашел это решение для использования 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 по умолчанию.


8

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


я тоже пропустил это :) Большое спасибо
Абхишек Тхалиял

1
Я должен был сделать это перед бегомflutter doctor --android-licenses
geg

5

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

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

В общем, API-интерфейсы JAXB считаются API-интерфейсами Java EE и поэтому больше не содержатся в пути к классам по умолчанию в Java SE 9. В Java 9 представлены концепции модулей, и по умолчанию в классе доступен агрегатный модуль java.se. путь (точнее, путь к модулю). Как следует из названия, агрегатный модуль java.se не включает API-интерфейсы Java EE, которые традиционно были связаны с Java 6/7/8. К счастью, эти API-интерфейсы Java EE, которые были предоставлены в JDK 6/7/8, все еще находятся в JDK, но по умолчанию их просто нет в пути к классам. Дополнительные API Java EE предоставляются в следующих модулях

Решение для обходного пути, если у вас установлена ​​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 или ~ / Library / Android / sdk / tools / bin

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

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

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

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


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

4

Эта строка, представленная в сообществе 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%

4

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

  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

3

MacOS 10.15: Android Studio 3.5.1:

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

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

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

После этого:

flutter doctor --android-licenses

ИЛИ ЖЕ

sdkmanager --licenses

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

Примечание: вам может потребоваться выйти и снова открыть оболочку терминала, если вам нужно переопределить переменную среды $ JAVA_HOME.


3

Обратитесь - 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

Хорошо, теперь, если вы побежите 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

2

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

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

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

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

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

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

exec "$JAVACMD" "$@"

Кому:

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

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

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


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

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

1

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

flutter doctor --android-licenses

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


1

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


1

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

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

   flutter doctor --android-licenses

1

Моя среда: Windows 10 64bit, OpenJDK 14.0.2

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

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

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



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

0

Для тех, кто все еще сталкивается с проблемой :
как ответил ниже Томми Си, Аба и несколько других людей, но может быть недостаточно ясно, как я это нашел.
Попробуйте установить 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: [ /ubuntu/175514/how-to-set-java-home-for-java] .
Затем запустите flutter doctor --android-licensesи примите все лицензии. Надеюсь, поможет.


0

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


0

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

  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и все будет хорошо !!!!

0

Я столкнулся с проблемой. 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):

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



0

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


0

После тщательного анализа моего 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

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


0

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

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

-1

ПРЕДУПРЕЖДЕНИЕ : этот ответ полезен, если у вас есть проблемы с переменной окружения 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, и вы больше не увидите ту же ошибку.

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


-1

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

  1. Скачал и установил последнюю версию Android Studio
  2. Следуйте инструкциям в этом руководстве
  3. После завершения установки запустите flutter doctor и убедитесь, что ваша проблема должна быть решена. Если проблема устранена, нет необходимости запускать команду flutter doctor --android-licenses .
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.