C:\Android\sdk\bin>sdkmanager Ошибка: не удалось определить корень SDK. Ошибка: либо укажите это явно с --sdk_root=, либо переместите этот пакет в ожидаемое место: \cmdline-tools\latest\
это выглядит так, даже после указания корня в переменных env. ANDROID_SDK_ROOT C:\Android\sdk
Я использую 64-битную машину Windows 10, я хочу запустить флаттер без студии Android, поэтому следуйте инструкциям на этой странице https://medium.com/@quicky316/install-flutter-sdk-on-windows-without-android- студия-102fdf567ce4
Начиная с новых обновлений, есть некоторые изменения, которые не упомянуты в документации. После распаковки пакета инструментов командной строки, самый верхний каталог, который вы получите, — это cmdline-tools. Переименуйте распакованный каталог из cmdline-tools в tools и поместите его в папку $C:/Android/cmdline-tools.
теперь это будет выглядеть $C:/Android/cmdline-tools/инструменты
и он будет работать идеально.
Андроид есть Андроид. Они включили несколько предупреждений в результаты командной строки, например это: Error: Either specify it explicitly with --sdk_root= or move this package into its expected location: <sdk>/cmdline-tools/latest/
работал у меня и на Mac.
Как я пытался, просто убедитесь, что вы добавили каталог «tools» и переместили все остальное в «cmdline-tools» в «tools», этого достаточно. Мне не нужно помещать его в каталог C:/Android.
У меня была структура папок C:/Android/android-sdk/cmdline-tools. Когда структура папок изменилась, как указано выше (C:/Android/cmdline-tools/tools), все заработало!
Если вы не хотите перемещать его в другое место, вы можете использовать --sdk_root, чтобы указать папку, в которую вы хотите установить и загрузить Android SDK.
Например, если вы хотите использовать: X:\Dev\AndroidSDK и вы загрузили и разархивировали пакет инструментов командной строки в эту папку, у вас будет этот путь: X:\Dev\AndroidSDK\cmdline-tools\bin для sdkmanager.bat.
Итак, ваша команда будет:
X:\Dev\AndroidSDK\cmdline-tools\bin>.\sdkmanager.bat --sdk_root=X:\Dev\AndroidSDK
PS: Не используйте пробелы в пути к AndroidSDK, иначе он не будет работать.
Вы можете создать папку latest внутри своего cmdline-tools и переместить все ее содержимое внутрь этой папки. Итак, ваш полный путь будет C:\Android\cmdline-tools\latest\bin. Используя эту конфигурацию, нет необходимости определять переменную среды ANDROID_SDK_ROOT или параметр --sdk_root=. Предполагается, что ваша папка SDK — это C:\Android, и в нее будут помещены все ваши файлы (системные образы, лицензии и т. д.).
этот ответ не только для самого андроида. он решил мою проблему flutter doctor --android-licenses за один раз: «Android sdkmanager не найден. Обновите до последней версии Android SDK и убедитесь, что для решения этой проблемы установлены инструменты cmdline».
если вы получите сообщение об ошибке Ошибка: не удалось определить корень SDK. Ошибка: либо укажите это явно с --sdk_root=, либо переместите этот пакет в ожидаемое место: \cmdline-tools\latest\
затем используйте команду с корнем sdk, указанным как:
sdkmanager --sdk_root=path-to-where-cmdline-tools-это "инструменты платформы" "платформы; android-29"
Загрузка Android SDK 29+ (инструменты командной строки для Android) с сайта https://developer.android.com/studio#downloads.
Для «commandlinetools-linux-7302050_latest.zip» процесс отличался от предыдущих подходов. Раньше после распаковки верхняя папка называлась tools, а теперь верхняя папка называется cmdline-tools.
Проблема, похоже, в том, что sdkmanager должен находиться в среде с именем. /YOURPATH/cmdline-tools/SOMETHING/bin, но все равно распаковывается в /YOURPATH/cmdline-tools/bin для Linux.
если вы получите
Ошибка: не удалось определить корень SDK.
Ошибка: либо укажите это явно с помощью --sdk_root=, либо переместите это пакет в ожидаемое место: <sdk>/cmdline-tools/latest/
Распакуйте и убедитесь, что у вас есть этот путь к sdkmanager.
/YOURPATH/cmdline-tools/latest/bin/sdkmanager
Чтобы это заработало, сначала создайте путь к предполагаемому Android SDK /opt/android-sdk/cmdline-tools/, затем распакуйте zip-файл SDK в это место, и у вас будет
/opt/android-sdk/cmdline-tools/cmdline-tools/bin/sdkmanager
Теперь переименуйте второй «cmdline-tools» в «последний».
/opt/android-sdk/cmdline-tools/latest/bin/sdkmanager
И теперь это должно работать.
Некоторые из приведенных ниже ответов могли сработать для других, но в моем случае они не сработали, пока я не понял это.
Удачи Наслаждайтесь процессом разработки!
Вам нужно поместить все файлы и папки в эту новую папку tools
`C:/Android/cmdline-tools/tools`
ИЛИ Альтернативный шаг
2.1. тип cmd C:\Android\cmdline-tools\bin
2.2. напишите в подсказке sdkmanager.bat --sdk_root=C:\Android
• Перейти к извлеченной папке android-sdk\cmdline-tools
• Создайте в ней папку с именем last.
• Вырезать bin , lib ... и т. д. и вставить в последнюю папку.
• Перейдите в папку cmd android-sdk\cmdline-tools\latest и выполните:
sdkmanager “platform-tools” “platforms;android-28”
Это решает проблему
Я наткнулся на этот ответ, когда пытался принять лицензию пакета для пакета Android с помощью sdkmanager.
Откройте папку bin (я скачал со стороны Android, https://developer.android.com/studio#downloads) Я получил инструменты cmdline отсюда.
Сначала я попробовал это bin> %ANDROID_HOME%\tools\bin\sdkmanager.bat --licenses
Получил ошибку - не удалось определить спросить root
Потом попробовал этот
bin>sdkmanager.bat --licenses --sdk-root\E:\Android
измените путь на такой
C:/Android/cmdline-tools/tools/bin
это сработало для меня отлично
Я успешно настроил инструменты командной строки на своем Mac.
11.6.4commandlinetools-mac-8092744_latest.zip (6,0)Скачал zip архив и разархивировал его.
% unzip commandlinetools-mac-8092744_latest.zip
% mv cmdline-tools latest
% mkdir sdk
% mkdir sdk/cmdline-tools
% mv latest sdk/cmdline-tools
Это выглядит так.
┌ sdk
│ ├ cmdline-tools
│ │ ├ latest
│ │ │ ├ bin
│ │ │ ├ lib
│ │ │ ├ NOTICE.txt
│ │ │ ├ source.properties
беги sdkmanager
% ./sdk/cmdline-tools/latest/bin/sdkmanager
[============================] 100% Computing updates...
Я столкнулся с этой ошибкой на сервере Ubuntu 18.04, и похоже, что проблема связана с путем. Он должен отличаться от того, что дается при загрузке zip. Вот что я сделал, чтобы решить проблему в моем случае:
~> wget https://dl.google.com/android/repository/commandlinetools-linux-8092744_latest.zip
~> unzip commandlinetools-linux-8092744_latest.zip
~> mkdir android-sdk
~> mv cmdline-tools android-sdk
~> cd android-sdk/cmdline-tools; mkdir latest
~> mv ./* latest
# */ So the path will be now :
# android-sdk/cmdline-tools/latest/bin
# instead of android-sdk/cmdline-tools/bin
~> nano ~/.bashrc
# add these two lines :
export ANDROID_HOME=$HOME/android-sdk
export PATH=$ANDROID_HOME/cmdline-tools/latest/bin:$PATH
# save the file
source ~/.bashrc
# Try this now, it should work.
sdkmanager --list
Я устанавливаю Android Studio для Flutter на свой Mac. Следующие шаги решают проблему:
Исходная распакованная папка — cmdline-tools. Измените иерархию папок на cmdline-tools > latest. Это означает создание нового каталога latest под cmdline-tools и перемещение всего в latest. TL;DR Если вы внимательно посмотрите на имя zip-файла, вы обнаружите, что его имя указывает на то, что это самый последний архив. У вас может быть много версий cmdline-tools, но каталог latest означает, что внутри него находится самая последняя версия. Давайте, почему мы должны создать новый каталог.
Узнайте, где находится Android SDK. Откройте Android Studio и перейдите к Preference > Appearance & Behavior > System Settings > Android SDK. Android SDK Location — это место, где установлен ваш Android SDK. Для меня это /Users/myname/Library/Android/sdk. Откройте Finder и перейдите к нему.
Переместите cmdline-tools в каталог sdk. Дважды проверьте, что у вас есть sdkmanager под /Users/myname/Library/Android/sdk/cmdline-tools/latest/bin/sdkmanager
Следуйте тому, что Flutter предлагает нам делать. Запустите /Users/myname/Library/Android/sdk/cmdline-tools/latest/bin/sdkmanager --install "cmdline-tools;latest" в своем терминале. Это говорит о том, где находится последний sdkmanager.
Снова запустите flutter doctor -v в своем терминале. Проблема должна быть исправлена.
Мое решение на macOS:
- apt-get --quiet update --yes
- apt-get --quiet install --yes wget tar unzip lib32stdc++6 lib32z1
- wget --quiet --output-document=android-sdk.zip https://dl.google.com/android/repository/commandlinetools-linux-7583922_latest.zip
# unzip the zip and name it with 'android-sdk'
- unzip -d android-sdk android-sdk.zip
# you can remove useless zip if you want
- rm android-sdk.zip
# create a new directory android-sdk-latest
- mkdir android-sdk-latest; cd android-sdk-latest
- mkdir cmdline-tools; cd cmdline-tools
# create a new directory: android-sdk-latest/cmdline-tools/latest
- mkdir latest
- cd ../..
# then move all files to new created latest directory
- mv android-sdk/cmdline-tools/* android-sdk-latest/cmdline-tools/latest
- export ANDROID_HOME=$PWD/android-sdk-latest
- export PATH=$PATH:$ANDROID_HOME/cmdline-tools/latest/bin:$PATH
- echo y | android-sdk-latest/cmdline-tools/latest/bin/sdkmanager "platform-tools" "platforms;android-${ANDROID_COMPILE_SDK}" >/dev/null
- echo y | android-sdk-latest/cmdline-tools/latest/bin/sdkmanager "platform-tools" >/dev/null
- echo y | android-sdk-latest/cmdline-tools/latest/bin/sdkmanager "build-tools;${ANDROID_BUILD_TOOLS}" >/dev/null
У меня проблема, когда я хочу удалить весь файл в новый созданный последний каталог: не могу удалить последний до последнего/последнего. Поэтому я сделал это, чтобы решить проблему.
Вы также можете удалить каталог android-sdk после удаления всех подфайлов и изменить имя android-sdk-latest на android-sdk.
Надеюсь, это поможет вам.
Попробуйте следующую команду, она будет работать отлично:
sdkmanager --sdk_root=path-to-where-cmdline-tools-is "platform-tools" "platforms;android-29"
Нет объяснения, почему этот ответ должен работать, и даже когда я пытаюсь запустить предложенную команду, я получаю Failed to create SDK root dir: path-to-where-cmdline-tools-is
гениально!! как вы нашли это решение?