Ошибка Flutter Doctor - инструмент Android sdkmanager не найден. Windows

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

Когда я запускаю flutter doctor -v, я получаю следующий результат:

[√] Flutter (Channel stable, v1.12.13+hotfix.8, on Microsoft Windows [Version 10.0.18362.657], locale en-GB)
    • Flutter version 1.12.13+hotfix.8 at C:\flutter
    • Framework revision 0b8abb4724 (3 weeks ago), 2020-02-11 11:44:36 -0800
    • Engine revision e1e6ced81d
    • Dart version 2.7.0

[!] Android toolchain - develop for Android devices (Android SDK version 29.0.3)
    • Android SDK at C:\Users\%username%\AppData\Local\Android\Sdk
    • Android NDK location not configured (optional; useful for native profiling support)
    • Platform android-29, build-tools 29.0.3
    • Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
    • Java version OpenJDK Runtime Environment (build 1.8.0_212-release-1586-b04)
    X Android license status unknown.
      Try re-installing or updating your Android SDK Manager.
      See https://developer.android.com/studio/#downloads or visit https://flutter.dev/setup/#android-setup for detailed
      instructions.

[√] Android Studio (version 3.6)
    • Android Studio at C:\Program Files\Android\Android Studio
    • Flutter plugin version 43.0.2
    • Dart plugin version 192.7761
    • Java version OpenJDK Runtime Environment (build 1.8.0_212-release-1586-b04)

[√] VS Code (version 1.42.1)
    • VS Code at C:\Users\%username%\AppData\Local\Programs\Microsoft VS Code
    • Flutter extension version 3.8.1

[√] Connected device (1 available)
    • AOSP on IA Emulator • emulator-5554 • android-x86 • Android 9 (API 28) (emulator)

! Doctor found issues in 1 category.

И если я попытаюсь запустить команду flutter doctor --android-licenses, я получу:

Инструмент Android sdkmanager не найден (C:\Users\%username%\AppData\Local\Android\Sdk\tools\bin\sdkmanager). Попробуйте переустановить или обновить Android SDK, посетите https://flutter.dev/setup/ для получения подробных инструкций.

И правильно, в моей папке SDK нет папки "tools". Как я могу это исправить! Я установил все инструменты SDK, даже NDK (не то, что флаттер поднимает это). Я попытался создать папку инструментов и скопировать sdkManager.bat (включая папку bin) из инструментов сборки, но это просто говорит мне обновить мои sdkmanager, который при попытке просто терпит неудачу.

Похоже, что все по-прежнему работает, мне просто немного неудобно иметь эту проблему.

Любая помощь очень ценится.

14 ответов

Решение

У меня та же проблема, что и у вас. Что я делаю, так это (по крайней мере, пока...):

  1. удалить Android Studio 3.6 или 3.6.1
  2. удалите весь каталог Android SDK в C:\Users{your_user_name}\AppData\Local\Android\Sdk
  3. установить Android Studio 3.5.3. Вы можете найти его здесь (https://developer.android.com/studio/archive). Запустите студию еще раз. Не импортируйте настройку 3.6 и удалите их при появлении запроса.
  4. Пройдите через Android Studio "Мастер приветствия" снова, используйте стандартный вариант.
  5. после установки вы увидите, что папка "tools" существует.
  6. вам нужно будет снова установить плагины для дротика и флаттера в "Настроить" ->"Менеджер SDK" ->"Плагины" в Android Studio.

Я только что столкнулся с той же проблемой - мое решение было немного проще:

Как и у вас, у меня установлена ​​Android Studio, ключ в том, чтобы установить "Инструменты командной строки Android SDK", шаги:

  1. Откройте Android Studio
  2. Меню инструментов, Менеджер SDK
  3. В появившемся окне есть внутренние панели, выберите панель "Инструменты SDK".
  4. Установите флажок "Инструменты командной строки Android SDK".
  5. Нажмите кнопку "Применить" в нижней части окна.

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

К вашему сведению, инструменты командной строки добавят новую папку cmdline-tools в вашу папку SDK. Если вы посмотрите там cmdline-tools/latest/bin, вы увидите sdkmanager, но проблема с лицензией уже должна быть решена.

[Android toolchain - разработка для устройств Android X компонент cmdline-tools отсутствует Выполнить path/to/sdkmanager --install "cmdline-tools;latest"

Эта ошибка означает, что вам необходимо "- Инструменты командной строки Android SDK отсутствуют"

  1. Откройте Android Studio
  2. В строке меню нажмите Инструменты (4-й последний).
  3. выберите панель инструментов SDK
  4. Установите флажок Инструменты командной строки Android SDK.
  5. Нажмите Применить внизу окна.

НАЧНЕТСЯ ЗАГРУЗКА отсутствующего компонента

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

Перейти к настройкам:

перейти к настройкам

Перейдите в Android SDK:

перейти на android sdk

Снимите отметку с инструментов командной строки:

снимите отметку с инструментов командной строки

Установите флажок " Показать подробности" и снимите флажок " Инструменты командной строки Android", затем нажмите " Применить" и нажмите " ОК".

проверьте подробности шоу и снимите флажок с инструментов командной строки Android, затем нажмите `` Применить '', затем нажмите `` ОК

Загрузите этот пакет с https://developer.android.com/studio и распакуйте его. Затем перейдите в местоположение SDK для Android (C:\Users\Pooja\AppData\Local\Android\Sdk) и вставьте его с инструментами имени.

Затем закройте и перезапустите Android Studio и проверьте наличие обновлений. После установки обновлений закройте Android Studio.

Откройте командную строку и введите:

flutter doctor --android-licenses

И, наконец, нажмите y для принятия.

теперь введите (Flutter doctor) без скобок.

Все решаемся.

открыть диспетчер SDK отсюда

затем выберите **Инструменты командной строки Android Sdk
. Примечание. Если он уже отмечен, следуйте инструкциям

  • Снимите флажок
  • Подать заявление
  • Перепроверить
  • Подать заявление

На дворе почти 2022 год, и все немного изменилось.

У меня был установлен SDK в отдельной папке, а инструменты командной строки отсутствовали. хотя я загрузил и извлек его в папку SDK, эта ошибка все еще была там. мне понадобилось время, чтобы понять это.

  • убедитесь, что у вас правильный путь к SDK. используйте это, если нужно flutter config --android-sdk <path-to-your-android-sdk-path>
  • загрузить последние инструменты командной строки с сайта developer.android.com
  • извлеките содержимое загруженного файла в папку SDK и убедитесь, что он имеет следующую структуру
      <sdk folder>/cmdline-tools/latest/`
 |- bin
 |- lib
 |- ...

В качестве альтернативы используйте следующую команду из любого каталога инструментов командной строки, которые у вас есть: <cmdline-tools folder>\bin\sdkmanager --install "cmdline-tools;latest" --sdk_root=<sdk folder>

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


PS: это не работает , если контент находится под <sdk folder>/tools, <sdk folder>/cmdline-toolsили же <sdk folder>/cmdline-tools/tools

Из https://flutter.dev/docs/get-started/install/windows:

Предупреждение: в Android Studio 3.6 или новее вам необходимо вручную добавить старую версию Android SDK Tools для работы Flutter. Сделать это:

  • Откройте Android Studio SDK Manager.

  • На вкладке Android SDK снимите флажок Hide Obsolete Packages.

  • Проверьте Android SDK Tools (устарело)

...

Это известная проблема, которая будет решена в следующей версии Flutter.

1. Прокрутите вниз и загрузите инструменты командной строки только по этой ссылке. https://developer.android.com/studio2. Поместите загруженный файл (инструменты) в это место C:\Users\ABC\AppData\ABC\Android\Sdk 3. закройте свою студию Android и снова откройте android студия. И проверьте обновление. 4. открывать командную строку и прошлое (flutter doctor --android-licenses), не использовать скобки. 5. И нажмите "y" для подтверждения 6. Запустите flutter doctor, все должно быть хорошо.

Если у вас есть sdkmanager в env, вы можете запустить команду:

sdkmanager --install «cmdline-tools; последняя версия»

Если он не определен как переменная среды, вы можете перейти в папку sdkmanager и запустить его там. Это будет что-то вроде этого ниже:

/home/User/path-Android/cmdline-tools/bin/sdkmanager --install «cmdline-tools; последняя версия»

А затем снова запустите доктора флаттера. Хороший код.

Нет необходимости удалять студию Android, что вам нужно сделать, это просто зайти в приложение andriod studio, перейти в android sdk и установить инструментарий cmdline, затем закрыть приложение и ввести flutter doctor, вы его установите

Запустите 'flutter config --android-'flutter config --android-sdk <путь к/android/sdk>sdk <путь к/android/sdk>

Как и в дополнение к этим ответам, это также может произойти, если вы используете старую версию flutter, которая не соответствует инструментам командной строки Android SDK, поэтому вам необходимо установить более старые версии инструментов командной строки Android SDK для соответствия с ними.

Я заметил при запуске студии Android из командной строки:

Обнаружен идентификатор пакета build-tools;32.0.0-rc1 в несовместимом месте. '/home/kobi/Android/Sdk/build-tools/32.0.0-rc1-2'(Ожидается '/home/kobi/Android/Sdk/build-tools/32.0.0-rc1')

после того, как я изменил путь экспорта в ~/.bashrc, flutter doctorсмог опознать и сказал что все ок. (хотя пришлось принять лицензии)

Это путь к Android, если вы используете Android Studio

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