Кордова не может найти переменную среды ANDROID_HOME - PullRequest
1 голос
/ 23 марта 2020

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

'' Не удалось найти 'ANDROID_HOME' переменная окружения. Попробуйте установить его вручную. Обнаружена команда 'avdmanager' в папке / Users / имя пользователя / 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, кто-нибудь знает, в чем проблема? Заранее спасибо

1 Ответ

0 голосов
/ 28 апреля 2020

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

  • Открыть Android Studio
  • Открыть инструменты -> Sdk Manager
  • Нажмите на Sdk Tools Tab
  • Снимите отметку 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.

...