Android Studio устанавливается без sdkmanager


15

Я программировал во Flutter, используя macOS 10.15.3, для устройств iOS. Сегодня я попытался установить Android Studio также, чтобы разветвиться. Установка прошла без ошибок, но в Library/Android/sdk/ней нет toolsподкаталога, что является проблемой, поскольку sdkmanagerпредполагается, что он находится внутри Library/Android/sdk/tools/bin.

Я заметил это, потому что бег flutter doctorдал мне:

     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 (без разницы). Другие решения, опубликованные в Интернете, рассказывают о версии Java, поэтому я обновил JRE с 1.7 до 1.8 и попытался переустановить Android Studio (без разницы), а затем обновил JDK до последней версии (теперь версия Java 11.0.6) и попытался установить Android Studio снова (без разницы). Я также обновил Flutter до v1.12.13 + hotfix.8 во время вышеописанного, но эта ошибка не исчезнет.

Если я наберу, flutter doctor --android-licensesто я получу:

    Android sdkmanager tool not found (/Users/macuser/Library/Android/sdk/tools/bin/sdkmanager).
    Try re-installing or updating your Android SDK,
    visit https://flutter.dev/setup/#android-setup for detailed instructions.

Так я впервые заметил, что мне не хватает части Android Studio.

Я попытался обмануть, создав собственный tools/binподкаталог, а затем скопировав sdkmanagerиз плагина Library/Android/sdk/cmdline-tools/latest/binв мой новый Library/Android/sdk/tools/bin. Однако это не обмануло Флаттера. Запуск flutter doctor --android-licensesпривел к:

A newer version of the Android SDK is required. To update, run:
/Users/macuser/Library/Android/sdk/tools/bin/sdkmanager --update

Это неправильно, потому что Android SDK является самым новым.

Кто-нибудь знает, почему Android Studio будет постоянно отсутствовать в tools/binподкаталоге и вкусностях внутри? Спасибо и извините, если я упустил что-то основное.

Ответы:


25

Обновление 1 (2020-02-29)

Похоже, последняя версия Android SDK переименована в пакет «Инструменты Android SDK » в « Инструменты командной строки Android-SDK ». Но, к сожалению, текущая стабильная версия Flutter SDK ( v1.12.13+hotfix.8) не совместима с этим изменением и продолжает отображать сообщение об ошибке.

Описание изображения

Временное решение:

Как предложил @Mark Ebden, вы можете просто снять флажок Скрыть устаревшие пакеты на странице инструментов SDK, и вы увидите Android SDK Tools (устарело) 26.1.1 . Установите его, и все готово. Если вы обнаружите, что чего-то не хватает, прочитайте следующие подробные инструкции.

Смотрите эту проблему на флаттер репо для получения дополнительной информации.


Вот полная информация, которую вы хотите при установке Android Studio с последней версией Mac OS.

1. Установите стабильную версию Android Studio.

2. Откройте андроид студию

3. открыть менеджер SDK. Смотрите скриншот ниже.

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

4. Убедитесь, что вы загрузили все необходимые материалы. Смотрите скриншоты ниже.

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

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

Обратите внимание, что я использую пользовательское местоположение ( / Users / darish / development / sdk / android ) для моего Android SDK вместо расположения по умолчанию (Library / Android / sdk /)

5. Зайдите в свой домашний каталог и проверьте, есть ли .bash_profile или нет. Если да, откройте его, если нет, создайте его. Добавьте следующее содержимое в этот файл.

 export PATH="$PATH:~/development/sdk/flutter/bin"
 export ANDROID_HOME="/Users/darish/development/sdk/android"
 export PATH="$PATH:$ANDROID_HOME/platform-tools"

6. После выполнения всех вышеуказанных шагов запустите flutter doctor --android-licenses и примите все лицензии.

flutter doctor --android-licenses

7. Теперь запустите трепетного доктора, чтобы увидеть все хорошо. Если вам нужна дополнительная помощь, дайте мне знать. :)

Вот и все, хорошего дня :)


Спасибо, проблема заключалась в том, что на шаге 4 на моем экране отсутствовал значок Android SDK tools. Между Android SDK Platform-Toolsи Documentation for Android SDKне было ничего. Возможно, у вас более ранняя, чем сегодня, загрузка android-studio-ide-192.6241897-mac.dmgдля версии 3.6 от 12 февраля 2020 года. **** Но ваш скриншот был обнадеживающим. Я снял флажок Hide Obsolete Packagesи увидел Android SDK Tools (Obsolete) 26.1.1появиться. Я установил это и теперь все работает. **** Нажмите для подробностей об ошибке во Флаттере.
Марк Эбден

Отлично. Не стесняйтесь принять ответ. Хорошего дня.
Дариш

уточните пожалуйста как получить андроид путь? откуда ?
Hos Mercury

Путь Android означает путь Android SDK, который мы определили в менеджере SDK. Где вы застряли?
Дариш

даже после установки устаревшего пакета все равно появляется та же ошибка. чего-то еще не хватает?
Крунал Пармар

1

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

  1. Запустить трепетание доктора --android-licenses -v
  2. Я получил сообщение, которое выглядит так:

$ flutter doctor --android-licenses -v Инструмент Android sdkmanager не найден (/ Users / juarse1 / Библиотека / Android / sdk / tools / bin / sdkmanager). Попробуйте переустановить или обновить свой Android SDK, посетите https://flutter.dev/setup/#android-setup для получения подробных инструкций.

  throwToolExit (package:flutter_tools/src/base/common.dart:28:3)
  AndroidLicenseValidator.runLicenseManager (package:flutter_tools/src/android/android_workflow.dart:311:7)
  Doctor.diagnose (package:flutter_tools/src/doctor.dart:243:38)

Это связано с тем, что Android SDK не находит командные инструменты, но его необходимо принудительно извлечь из устаревшего пакета, поэтому: 3. Перейдите в Android Studio -> Настройки -> Системные настройки -> Android SDK -> Раздел SDK Tools 4. Снимите флажок Скройте устаревшие пакеты внизу 5. Убедитесь, что ОБА установлены параметры:

Платформа Android SDK - Инструменты и Инструменты Android SDK (устарели)

  1. ОК, закройте Android Studio
  2. Запустите трепетание врача - android-лицензии, должно работать!

Работал ... Спасибо ...
Джей
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.