Cordova не может найти переменную среды ANDROID_HOME

Я просмотрел весь Google и Stack Overflow в поисках ответа, но не смог найти подходящего для себя. Я изучаю Cordova и пытаюсь запустить эмулятор Android через терминал, и когда я запускаю «sudo cordova emulate android», я получаю это сообщение:

''Не удалось найти переменную среды ANDROID_HOME. Попробуйте установить его вручную. Обнаружена команда «avdmanager» в папке /Users/username/Library/Android/sdk/cmdline-tools/latest/bin, но поблизости не найден каталог «tools/bin». Попробуйте переустановить Android SDK или обновить PATH, указав действительный путь к каталогу SDK/tools/bin.''

Но я задал переменные в файле ~./bash_profile и это выглядит так:

export ANDROID_HOME="/Users/username/Library/Android/sdk"

export ANDROID_SDK_ROOT=$ANDROID_HOME

export PATH=${PATH}:$ANDROID_HOME/cmdline-tools/latest/bin:$ANDROID_HOME/platform-tools

export PATH=${PATH}:$ANDROID_HOME/tools/bin

export PATH="$PATH:$ANDROID_HOME/build-tools/30.0.0-rc2"

Я использую MacOS Mojave, кто-нибудь знает, в чем проблема? заранее спасибо


person Leon Grubisic    schedule 23.03.2020    source источник
comment
Отвечает ли это на ваш вопрос? Настройка переменной среды ANDROID_HOME в Mac OS X   -  person Reza Dehnavi    schedule 23.03.2020
comment
Вы когда-нибудь видели этот пост?   -  person Reza Dehnavi    schedule 23.03.2020
comment
@RezaDehnavi спасибо за помощь, все равно не работает, попробую на винде.   -  person Leon Grubisic    schedule 26.03.2020


Ответы (1)


Судя по всему, в последней версии Android Studio старые инструменты SDK (под /tools, чего, похоже, ожидает Кордова) уже считаются устаревшими. здесь задокументировано решение о том, как установить старую версию инструментов SDK.

  • Откройте Android-студию
  • Откройте Инструменты -> Диспетчер SDK
  • Нажмите на вкладку Sdk Tools
  • Снимите флажок Hide Obsolete Packages
  • Проверить Android Sdk Tools (Obsolete)
  • Нажмите Apply

Это должно загрузить старые инструменты SDK в правильную папку.

Тем не менее, я думаю, Cordova также должна идти в ногу с новейшими инструментами разработки для Android. После этого мне нужно было внести еще одно изменение:

Мне пришлось удалить двоичные файлы tools/emulator и tools/emulator-check и добавить $ANDROID_HOME/emulator к моему $PATH, так как текущий двоичный файл эмулятора находится под emulator/emulator вместо path/emulator. См. это сообщение.

Затем я, наконец, смог запустить приложение напрямую через Cordova.

person xji    schedule 27.04.2020