Ошибка сборки Ionic android - Не удалось найти переменную окружения ANDROID_HOME
Я пытаюсь построить андроид для ионных в linux, но он показывает мне ошибку, подобную этой
[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.]
ERROR building one of the platforms: Error: /home/kumar/myapp/platforms/android/cordova/build: Command failed with exit code 2
You may not have the required environment or OS to build this project
Error: /home/kumar/myapp/platforms/android/cordova/build: Command failed with exit code 2
at ChildProcess.whenDone (/usr/local/lib/node_modules/cordova/node_modules/cordova-lib/src/cordova/superspawn.js:139:23)
at ChildProcess.EventEmitter.emit (events.js:98:17)
at maybeClose (child_process.js:743:16)
at Process.ChildProcess._handle.onexit (child_process.js:810:5)
и я добавил это в мой файл bashrc
export ANT_HOME="/usr/bin/ant"
export PATH="$PATH:$ANT_HOME/bin"
export HOME="/home/kumar"
export ANDROID_HOME="$HOME/android-sdk-linux/tools"
export ANDROID_PLATFORM_TOOLS="$HOME/android-sdk-linux/platform-tools"
export PATH="$ANDROID_HOME:$ANDROID_PLATFORM_TOOLS:$PATH"
Я думаю, что я дал путь, но я не знаю, почему он показывает мне эту ошибку. Пожалуйста, помогите....
Ответы
Ответ 1
Android Home должен быть корневой папкой SDK.
export ANDROID_HOME="$HOME/android-sdk-linux"
EDIT. Откройте терминал и введите эти команды. (да, на тернале, а не в файле bashrc)
export ANDROID_HOME=~/android-sdk-macosx
PATH=$PATH:$ANDROID_HOME/tools
PATH=$PATH:$ANDROID_HOME/platform-tools
а затем в том же терминале просто введите android
. Если вы сконфигурированы, вы сможете использовать команды сборки с этого терминала. (это временное решение)
Ответ 2
Для OSX
-
в ~/.bash_profile добавить:
export ANDROID_HOME="/path/to/android-sdk-macosx"
export PATH="$ANDROID_HOME/platform-tools:$ANDROID_HOME/tools:$PATH"
а затем выполнить его в терминале, чтобы вступить в силу немедленно;
-
в /etc/sudoers добавить: (вы можете использовать консоль: sudo visudo
)
Defaults env_keep += "ANDROID_HOME"
так как процесс построения должен начинаться с sudo
и Node process.env
получить соответствующие переменные.
Ответ 3
Случай: используя SO Windows, попробуйте:
set ANDROID_HOME=C:\\android-sdk-windows
set PATH=%PATH%;%ANDROID_HOME%\tools;%ANDROID_HOME%\platform-tools
больше в: http://spring.io/guides/gs/android/
Случай: у вас нет инструментов для платформы:
cordova platforms list
cordova platforms add <Your_platform, example: Android>
Ответ 4
Настройка для Ubuntu
В моем случае Android и его SDK были установлены по умолчанию:
/root/Android/Sdk
Открыть терминал и изменить ~/.bashrc
sudo su
vim ~/.bashrc
Экспортируйте ANDROID_HOME и добавьте папки с двоичными файлами в ваш PATH
export ANDROID_HOME=/root/Android/Sdk
PATH=$PATH:$ANDROID_HOME/tools
PATH=$PATH:$ANDROID_HOME/platform-tools
Чтобы обновить запуск PATH
source ~/.bashrc
Если ionic build android
все еще не удается, это может быть из-за неправильной версии sdk. Чтобы установить правильные версии и изображения, запустите android
из командной строки. Так как теперь в вашем PATH вы сможете запустить его из любого места.
Ответ 5
Загрузите SDK для Android
http://developer.android.com/sdk/installing/index.html
Вы экспортируете только путь к папке SDK.
export ANDROID_HOME="YOUR_PATH/sdk/"
Ответ 6
Процедура уже хорошо объяснена в приведенных выше ответах. Но если добавить ANDROID_HOME
и PATH
в .bashrc
или .zshrc
в /home/username/
и попытаться запустить команду ionic
с помощью sudo
, вы можете снова получить эту ошибку.
Причина в том, что он может искать ANDROID_HOME
и PATH
в файле .zshrc
пользователя root вместо текущего пользователя. Поэтому вы не должны этого делать, если не добавить это в файлы root .bashrc
или .zshrc
.
Ответ 7
У меня была эта проблема при запуске sudo ionic run android
как root, поскольку эти переменные среды не сохранялись. Исправлено с помощью sudo -E ionic run android
.
Ответ 8
Windows - установка переменной среды постоянно:
setx ANDROID_HOME "C:\Program Files\Android\android-sdk"
или
setx ANDROID_HOME "C:\Program Files (x86)\Android\android-sdk"
Ответ 9
Вам нужно только отредактировать файл своего профиля следующим образом:
sudo su
vim ~/.profile
и поместите это в конец файла:
export ANDROID_HOME=/home/(user name)/Android/Sdk
export PATH=$PATH:/tools
export PATH=$PATH:/platform-tools
Сохраните и закройте файл и выполните:
cd ~
source .profile
теперь, если вы выполните:
echo $ANDROID_HOME
он должен показать вам что-то вроде этого:
/home/(user name)/Android/Sdk
Ответ 10
Для OSX
Отличный учебник здесь:
https://www.youtube.com/watch?v=kY22NSBwV_s
Нет необходимости выполнять команды bash/символические ссылки:
Ответ 11
В моем случае: я установил правильный путь для Android и java, но все еще получаю ошибку.
Проблема заключалась в том, что я добавил платформу Android с помощью команды sudo. sudo ionic cordova platform android
.
Чтобы решить мою проблему:
Сначала я удалил платформу android, выполнив команду
платформа sudo ionic cordova rm android
затем добавьте платформу Android снова с помощью sudo ionic cordova platform add android
но я получаю ошибку разрешений.
Чтобы устранить команду прогона ошибки
sudo chmod -R 777 {Path-of-your-project}
в моем случае sudo chmod -R 777 ~/codebase/IonicProject
Затем выполните команду
платформа ионной кордовы добавить android
или
Ионная кордова бежать андроид