«Статус лицензии Android неизвестен» в Flutter Doctor

Я получаю сообщение об ошибке Android Sdk при запуске flutter doctor в командной строке

Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel beta, v1.4.9-hotfix.1, on Mac OS X 10.14.4 18E226, locale zh-Hans-CN)
[!] Android toolchain - develop for Android devices (Android SDK version 28.0.3)
    ✗ Android license status unknown.
      Try re-installing or updating your Android SDK Manager.
      See https://developer.android.com/studio/#downloads or visit
      https://flutter.io/setup/#android-setup for detailed instructions.
[✓] iOS toolchain - develop for iOS devices (Xcode 10.2)
[✓] Android Studio (version 3.3)
[✓] VS Code (version 1.33.1)
[!] Connected device
    ! No devices available

! Doctor found issues in 2 categories.

После нескольких возможных исправлений от сообщества stackoverflow я все еще не мог заставить его работать. Пожалуйста, мне нужна помощь.


person Brendan    schedule 26.03.2020    source источник


Ответы (1)


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

Исправление 1:

  • Запустите студию Android и откройте диспетчер SDK (вверху справа от студии Android).
  • Перейдите на вкладку SDK и найдите Android SDK Platform-Tools.
  • Если он отмечен, снимите его и нажмите «Применить» (мы пытаемся удалить предыдущую версию).
  • Теперь "SDK Tools" удален. Давайте переустановим его, установив флажок и нажав «Применить».
  • Нажмите ОК и перезапустите Android-студию
  • Перейдите к месту установки SDK в %USERPROFILE%\AppData\Local\Android\Sdk для Windows, вы должны увидеть новую папку tools Примечание. Если вы не видите папку tools, не паникуйте, я вас прикрыл.
  • Откройте папку tools и перейдите к bin
  • Скопируйте путь к папке (например, C:\Users\USERNAME%\AppData\Local\Android\Sdk\tools\bin)
  • Добавьте этот путь к переменным среды
  • Теперь у вас должен быть доступ к sdkmanager в командной строке. Попробуйте, набрав sdkmanager и нажав Enter в CMD.
  • Если вы получили 'sdkmanager' is not recognized as an internal or external command, operable program or batch file., вы, вероятно, ошиблись при добавлении пути к системным переменным среды. Исправьте это.
  • Перейдите в папку Flutter sdk (например, c:/src/flutter) и запустите файл flutter_console.bat
  • Теперь введите команду flutter doctor --android-licenses, и она должна работать. Подтвердите все, набрав y и нажав ENTER.
  • И не забудьте запустить flutter doctor

Исправление 2:

PS: Только если Fix 1 у вас не работает!

  • Откройте браузер и перейдите к только инструментам командной строки (внизу страницы)
  • Загрузите соответствующий пакет для вашей платформы
  • Разархивируйте его и да! Вы должны увидеть папку tools
  • После извлечения скопируйте папку tools в C:\Users\USERNAME%\AppData\Local\Android\Sdk

    Теперь то же, что и Исправление 1 выше

  • Откройте папку tools и перейдите к bin

  • Скопируйте путь к папке (например, C:\Users\USERNAME%\AppData\Local\Android\Sdk\tools\bin)
  • Добавьте этот путь к переменным среды
  • Теперь у вас должен быть доступ к sdkmanager в командной строке. Попробуйте, набрав sdkmanager и нажав Enter в CMD.
  • Если вы получили 'sdkmanager' is not recognized as an internal or external command, operable program or batch file., вы, вероятно, ошиблись при добавлении пути к системным переменным среды. Исправьте это.
  • НЕТ, вы еще не закончили
  • Скачанные вами инструменты платформы SDK, вероятно, устарели (в этом можно убедиться, запустив команду sdkmanager из командной строки).
  • Теперь перейдем к Android Studio, чтобы сделать все остальное. Перезапустите Android Studio, чтобы он смог распознать добавленную вами tools папку.
  • После перезапуска Android Studio должна автоматически обнаружить устаревшие инструменты платформы и предложить обновить их (вы должны быть подключены к Интернету!).
  • ЕСЛИ ЗАПРОС ОБНОВЛЕНИЯ НЕ ПОКАЗЫВАЕТСЯ
  • Откройте SDK Manager в студии Android,
  • Перейти в ОБНОВЛЕНИЯ
  • Нажмите Check Now
  • И вы должны получить ПОДСКАЗКУ для обновления Platform-Tools

Исправление 3:

  • Сделайте все, что указано в Исправлении 2
  • Откройте переменные среды, создайте новую переменную JAVA_HOME и установите значение JRE / bin (получите его из места установки студии Android в Program Files)
  • Откройте командную строку типа set JAVA_OPTS='-XX:+IgnoreUnrecognizedVMOptions --add-modules java.se.ee' для Windows и export JAVA_OPTS='-XX:+IgnoreUnrecognizedVMOptions --add-modules java.se.ee' для Linux

Вот и все, теперь вы можете запустить flutter doctor --android-licenses из командной строки; Примите все лицензии, набрав y и нажав ENTER. И не забудьте запустить flutter doctor

ЭТО ИСПРАВЛЕНИЕ. Я НАДЕЮСЬ, ЧТО ЭТО РАБОТАЕТ ДЛЯ ВАС

person Brendan    schedule 26.03.2020