Не удалось найти переменную среды ANDROID_HOME

131

Я пытаюсь создать проект ionic-android, и у меня установлен android sdk.

Установленные пакеты SDK Manager

Мой проект называется myApp. Я успешно добавил платформу Android в myApp. Но когда я пытаюсь построить проект

~/myApp$ sudo ionic build android

результат

Running command: /home/hari/myApp/hooks/after_prepare/010_add_platform_class.js /home/hari/myApp
  add to body class: platform-android
  ERROR building one of the platforms: Failed to find 'ANDROID_HOME'  environment variable. Try setting setting it manually.
  Failed to find 'android' command in your 'PATH'. Try update your 'PATH' to include path to valid SDK directory.
You may not have the required environment or OS to build this project
Error: Failed to find 'ANDROID_HOME' environment variable. Try setting setting it manually.
Failed to find 'android' command in your 'PATH'. Try update your 'PATH' to include path to valid SDK directory.

см. переменную ANDROID_HOME и PATH

echo $ANDROID_HOME
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/home/hari/Android/Sdk

echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/home/hari/Android/Sdk/tools:/home/hari/Android/Sdk/platform-tools:/usr/local/bin:/opt/gradle/bin

Я видел почти такие же вопросы о переполнении стека, но у меня ни один из них не работает. Что-то не так с моей конфигурацией android-sdk? Как я могу построить этот проект?

Хари Кришнан
источник
2
Ваш ANDROID_HOME больше похож на ПУТЬ. Когда вы повторяете эхо, оно должно только возвращаться /home/hari/Android/Sdk(при условии, что это правильно)
OneCricketeer
См. Мой ответ на [Этот вопрос] ( stackoverflow.com/questions/35110403/… ), он исправит это для вас
Рами Хакам
Мне нужно вводить это каждый раз, когда я открываю терминал, как мне сохранить его?
Люк
@LukeFlournoy См. "Priori Things" (шаги 1 и 2) этого ответа
Диего

Ответы:

200

Вы можете подтвердить, что ваша среда разработки настроена правильно.

Цитата из spring.io :

Настройте среду разработки Android

Прежде чем вы сможете создавать приложения для Android, необходимо установить Android SDK. При установке Android SDK также устанавливается AVD Manager, графический пользовательский интерфейс для создания и управления виртуальными устройствами Android (AVD).

  1. С веб-сайта Android загрузите правильную версию Android SDK для своей операционной системы.

  2. Распакуйте архив в любое место по вашему выбору. Например, в Linux или Mac вы можете поместить его в корень своего пользовательского каталога. Дополнительные сведения об установке см. На веб-сайте разработчиков Android .

  3. Настройте ANDROID_HOMEпеременную среды в зависимости от расположения Android SDK. Кроме того, рассмотрите возможность добавления ANDROID_HOME/toolsи ANDROID_HOME/platform-toolsв свой PATH.

Mac OS X

export ANDROID_HOME=/<installation location>/android-sdk-macosx
export PATH=${PATH}:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools

Linux

export ANDROID_HOME=/<installation location>/android-sdk-linux
export PATH=${PATH}:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools

Windows

set ANDROID_HOME=C:\<installation location>\android-sdk-windows
set PATH=%PATH%;%ANDROID_HOME%\tools;%ANDROID_HOME%\platform-tools

Загрузка Android SDK не включает определенные платформы Android. Чтобы запустить код из этого руководства, вам необходимо загрузить и установить последнюю версию платформы SDK. Вы делаете это с помощью Android SDK и AVD Manager, которые вы установили в предыдущем разделе.

  1. Откройте окно Android SDK Manager :

    android

    Примечание. Если эта команда не открывает Android SDK Manager , значит, ваш путь настроен неправильно.

  2. Установите флажок Инструменты .

  3. Установите флажок для последней версии Android SDK .

  4. В папке Extras установите флажок для библиотеки поддержки Android .

  5. Нажмите кнопку « Установить пакеты ...» , чтобы завершить загрузку и установку.

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

Брэд W
источник
1
в № 3 (настроить переменную ANRDOID_HOME): В каком файле это должно быть?
suMi
@suMi вы запускаете команду экспорта из вашего терминала в зависимости от вашей ОС и меняете PATH, который вы установили ANDROID_HOMEравным, в зависимости от того, где вы сохранили SDK. См. Stackoverflow.com/questions/19986214/… для получения дополнительных сведений.
Brad W
@suMI Если вы хотите, чтобы изменения были постоянными, добавьте эти строки в свой .bashrc, если вы используете Linux или Mac.
brt
Если кто-то сталкивается с этой проблемой, создаваемой из teamcity, вам необходимо создать параметры env в teamcity для ANDROID_HOME.
lawphotog 05
Что это /android-sdk-linux, toolsи platform-tools? Я не вижу таких каталогов в моем /opt/android-studio. Моя студия Android работает, но у меня нет этих каталогов.
Дзинтарс
38

В линуксе

Прежде всего установите ANDROID_HOME в файле .bashrc

Команда выполнения

sudo gedit ~/.bashrc

установите путь к andoid sdk, где вы установили

export ANDROID_HOME=/opt/android-sdk-linux 
export PATH=${PATH}:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools

перезагрузить файл, запустить команду

source ~/.bashrc

Теперь проверьте установленную платформу, запустите команду

ionic platform

Вывод

Installed platforms:
  android 6.0.0
Available platforms: 
  amazon-fireos ~3.6.3 (deprecated)
  blackberry10 ~3.8.0
  browser ~4.1.0
  firefoxos ~3.6.3
  ubuntu ~4.3.4
  webos ~3.7.0

если Android уже установлен, необходимо удалить и снова установить

ionic platform rm android
ionic platform add android

Если еще не установлено, добавьте платформу Android

ionic platform add android

Убедитесь, что вы добавили платформу Android без команды sudo

если вы все еще получаете ошибку при добавлении платформы Android, как показано ниже

Ошибка: EACCES: в доступе отказано, откройте /home/ubuntu/.cordova/lib/npm_cache/cordova-android/6.0.0/package/package.json

Перейдите в / home / ubuntu / и удалите оттуда папку .cordova.

cd /home/ubuntu/
sudo rm -r .cordova

Теперь снова запустите следующую команду

ionic platform add android

после успешного добавления платформы вы сможете построить andoid в ionic.

Спасибо

Dineshaws
источник
14
с версии 3.0.0 это так ionic cordova platform add android.
Бауми
28

Вот шаги, которые необходимо выполнить, чтобы успешно настроить свой Ionic Project для работы с эмулятором Android:

  1. Создайте Ionic Project: вкладки ionic start appName (для темы вкладок)
  2. cd appName
  3. ионная установка sass
  4. Чтобы запустить приложение в Интернете: ionic serve

Чтобы добавить платформу Android:

Приори Вещи

Сначала вам нужно настроить переменные среды. Для этого нужно рассмотреть 3 файла:

1. ~ / .profile (для установки переменных при каждом открытии терминала или загрузке компьютера):

// Код, который нужно добавить в последний

set PATH so it includes user's private bin directories
PATH="$HOME/bin:$HOME/.local/bin:$PATH"
export ANDROID_HOME='/home/<user_name>/Android/Sdk' <Path to android SDK>
export PATH=$PATH:$ANDROID_HOME/bin
export PATH=$PATH:$ANDROID_HOME/tools
export PATH=$PATH:$ANDROID_HOME/platform-tools

2. / etc / environment (для установки переменных окружения):

// Все содержимое файла

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"
JAVA_HOME="/usr/lib/jvm/java-8-oracle"
ANDROID_HOME="/home/<user_name>/Android/Sdk" <Path to android SDK>

3. / etc / profile :

// Код, который нужно добавить в последнюю очередь

JAVA_HOME=/usr/lib/jvm/java-8-oracle <Path where Java is installed>
JRE_HOME=$JAVA_HOME/jre 
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
export JAVA_HOME
export JRE_HOME
export PATH

Для загрузки указанных выше изменений, внесенных в файл, вам необходимо выполнить следующую команду:

source ~/.profile
source /etc/environment
source /etc/profile

Постеори Вещи

1. Добавьте платформу: ionic platform add android (обратите внимание, что вам нужно запустить эту команду без sudo )

2. Если вы все еще получаете ошибку в приведенной выше команде, сделайте следующее: (здесь appName = helloWorld)

    cd ..
    sudo chmod -R 777 helloWorld
    cd helloWorld 
    ionic platform add android
    If you are still getting the error then remove ".cordova" folder from the home directory of your PC.

3. Чтобы запустить приложение в эмуляторе Android: ionic run android

Спасибо!

Нихил Арора
источник
Спасибо Nikhil, у меня тоже сработало. Попробовав много вещей - он сработал с теми шагами, которые вы предоставили :-)
Раджив
У меня возникла проблема с циклом входа в систему после добавления переменных Java и android в / etc / environment. К счастью, мне удалось удалить это из входа в терминал (ctrl + alt + F3), и теперь вход в систему нормальный.
Гарри
8

Для тех, у кого есть переносимая версия SDK для Windows, просто добавьте 2 следующих пути к вашей системе.

F:\ADT_SDK\sdk\platforms
F:\ADT_SDK\sdk\platform-tools

Это сработало для меня.

BoCyrill
источник
Интересно, почему мой ответ был отклонен. Возможна ли причина этого действия?
BoCyrill
2
потому что вы не говорите, как их добавить?
Флориан Лаутербах
1
Точно, вы не указали, как это сделать.
Anuj 05
8

У меня была эта проблема раньше.
Вам нужно добавить sdks\toolsи sdks\build-toolsв свой путь к среде.

Джалаледдин Хоссейни
источник
5

Выполнить: sudo gedit ~/.bashrc добавить

JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
export JAVA_HOME
PATH=$PATH:$JAVA_HOME
export PATH
export ANDROID_HOME=~/Android/Sdk 
export PATH=${PATH}:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools

и

source ~/.bashrc
Диего Сальгеро
источник
5

11 апреля 2019 г.

Ни один из приведенных выше ответов не решил мою проблему, поэтому я хотел включить текущее решение (по состоянию на апрель 2019 года) для людей, использующих Ubuntu 18.04. Вот как я решил вопрос выше ...

  1. Я установил Android SDK с веб-сайта и поместил его в эту папку:/usr/lib/Android/
  2. Найдите, где установлен SDK и версию. В моем случае это было здесь:

    /usr/lib/Android/Sdk/build-tools/28.0.3

    Примечание: я использую версию 28.0.3, ваша версия может отличаться.

  3. Добавить ANDROID_HOMEв путь к среде. Для этого откройте / etc / environment в текстовом редакторе:

    sudo nano /etc/environment

    Добавьте строку для ANDROID_HOMEвашей конкретной версии и пути. В моем случае это было:

    ANDROID_HOME="/usr/lib/Android/Sdk/build-tools/28.0.3"

  4. Наконец, загрузите обновленную среду с помощью: source /etc/environment

    Подтвердите это, попробовав: echo $ANDROID_HOMEв терминале. Вы должны получить путь к вашей вновь созданной переменной.

    Еще одно замечание об источниках: мне пришлось перезагрузить компьютер, чтобы терминал VScode распознал мои изменения. После перезапуска среда была настроена, и с тех пор у меня не было никаких проблем.

bsheps
источник
2

Я хотел бы поделиться ответом, который также демонстрирует подход, использующий Android SDK, предоставляемый репозиторием Ubuntu:

Установить Android SDK

sudo apt-get install android-sdk

Экспорт переменных среды

export ANDROID_HOME="/usr/lib/android-sdk/"
export PATH="${PATH}:${ANDROID_HOME}tools/:${ANDROID_HOME}platform-tools/"
Мухаммед Нуман
источник
1

Пришел сюда из Google в поисках той же проблемы и потратил 4 часа, чтобы выяснить, что может быть не так. И теперь я чувствую себя действительно глупо, отправляя этот ответ. В моем случае SDK, JDK, JRE, Ant и все остальное были установлены и работали накануне.

Но только один конкретный проект вызвал у меня эту проблему. Это один был под "C: \ Users \ Имя \ Documents" место

Вскоре я понял, что запускаю cmd как обычный пользователь, как только я выбираю « Запуск от имени администратора », все начинает работать.

Совет: всегда тщательно продумывайте местоположение проекта!

Hitin
источник
1

Это решило мою проблему. Добавьте ниже к вашему системному пути

PATH_TO_android \ платформы

PATH_TO_android \ платформенных инструментов

PKInd007
источник
0

У меня возникла эта проблема на компьютере с Windows7: выключение компьютера во время работы ionic serve (я предполагаю, что это была проблема, которая все испортила)

Удалите узел ПОЛНОСТЬЮ и переустановите все на новую копию узла

DudeOfLayers
источник
0

В Windows, если вы запускаете эту команду из терминала кода VS и даже после настройки всех переменных среды (iebuild-tools, platform-tools, tools), она не работает, пытаясь запустить ту же команду с внешнего терминала cmd. В моем случае даже после запуска нового терминала кода VS он не смог использовать обновленный путь к среде.

Это сработало, когда я запустил ту же команду из Windows cmd.

Химаншу Гоял
источник
0

Чтобы установить среду ANDROID_HOME в ubuntu 20.04, посетите магазин оснастки Ubuntu и установите Android Studio, а затем откройте

vim $HOME/.bashrc

И установите переменные среды следующим образом:

export ANDROID_HOME=${HOME}/Android/Sdk
export PATH=${ANDROID_HOME}/tools:${PATH}
export PATH=${ANDROID_HOME}/emulator:${PATH}
export PATH=${ANDROID_HOME}/platform-tools:${PATH}

В последних версиях Android studio замените ANDROID_HOME на ANDROID_SDK_ROOT, иначе сборки будут жаловаться, что ANDROID_HOME устарел.

Hamfri
источник