Не вдалося знайти змінну середовища "ANDROID_HOME"


131

Я намагаюся створити іонно-андроїдний проект, і у мене встановлений android sdk.

Менеджер SDK встановив пакети

Назва мого проекту - 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 Дивіться "Речі Пріорі" (кроки 1 та 2) цієї відповіді
Дієго

Відповіді:


200

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

Цитування з spring.io :

Налаштуйте середовище розробки Android

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

  1. З веб - сайту Android , завантажте правильну версію Android SDK для вашої операційної системи.

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

  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

Завантаження SDK для Android не включає конкретні платформи Android. Щоб запустити код у цьому посібнику, потрібно завантажити та встановити останню платформу SDK. Ви робите це за допомогою Android SDK та AVD Manager, встановлених у попередньому розділі.

  1. Відкрийте вікно Android SDK Manager :

    android

    Примітка. Якщо ця команда не відкриває диспетчер SDK для Android , ваш шлях неправильно налаштований.

  2. Установіть прапорець Інструменти .

  3. Установіть прапорець для останньої версії SDK для Android .

  4. У папці « Додаткові» встановіть прапорець Бібліотека підтримки Android .

  5. Натисніть кнопку Встановити пакети ..., щоб завершити завантаження та встановлення.

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


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

Що це /android-sdk-linux, toolsі що platform-tools? Я не бачу таких каталогів у своїх /opt/android-studio. Моя андроїд-студія працює, але у мене немає цих каталогів.
Дзінтарс

38

У Linux

Перш за все, встановіть 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

якщо андроїд уже встановлений, тоді потрібно видалити та встановити знову

ionic platform rm android
ionic platform add android

Якщо не встановлено, додайте платформу Android

ionic platform add android

Переконайтеся, що ви додали платформу Android без команди sudo

якщо ви все-таки отримуєте помилку в додаванні андроїд платформи, як описано нижче

Помилка: 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 в іонному.

Дякую


14
від версії 3.0.0 це ionic cordova platform add android.
Баумі

28

Це кроки, які потрібно виконати, щоб успішно налаштувати ваш проект Ionic для роботи з емулятором Android:

  1. Створити проект Ionic: вкладки іонного запуску 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. / і т.д. / профіль :

// Код, який потрібно додати остаточно

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

Речі Posteori

1. Додати платформу: іонна платформа 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: іонний запуск android

Дякую!


Дякую Ніхілу, це теж працювало і для мене.
Перепробувавши

Після додавання змінних Java та android у / etc / середовище у мене виникла проблема "циклу входу". На щастя, мені вдалося видалити це з логіна терміналу (ctrl + alt + F3), і вхід зараз нормальний.
Гаррі

8

Для тих, хто має портативне видання SDK у Windows, просто додайте до системи дві наступні стежки.

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

Це працювало для мене.


Цікаво, чому моя відповідь була озвучена. Чи можна мати причину цієї дії?
BoCyrill

2
бо ти не кажеш, як їх додати?
Флоріан Лаутербах

1
Точно ви не вказали, як це зробити.
Ануй


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, щоб визнати зміни. Після перезапуску було встановлено оточення, і з тих пір у мене не виникало жодних проблем.


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 як звичайний користувач, як тільки вибираю " Запустити як адміністратор ", все почало працювати.

Порада: Завжди ретельно розглядайте місце розташування проекту!


1

Це вирішило мою проблему. Додайте нижче до системного шляху

PATH_TO_android \ платформи

PATH_TO_android \ platform-tools


0

У мене виникло це питання на комп'ютері Windows7: відключення комп'ютера під час роботи іонної служби (я припускаю, що ця проблема пошкодила все)

Видаліть вузол ПОПЕРЕДЖЕНО та перевстановіть усе на свіжу копію вузла


0

У Windows, якщо ви запускаєте цю команду з терміналу коду VS і навіть після встановлення всієї змінної середовища (тобто build-інструментів, платформи-інструментів, інструментів), вона не працює, намагаючись виконати ту саму команду із зовнішнього cmd-терміналу. У моєму випадку навіть після запуску нового терміналу коду VS він не зміг взяти оновлений шлях оточення.

Це спрацювало, коли я запустив ту ж команду з Windows cmd.


0

Щоб встановити середовище ANDROID_HOME на ubuntu 20.04, відвідайте швидкий магазин Ubuntu та встановіть студію Android, а потім відкрийте

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 замініть ANDROID_HOME на ANDROID_SDK_ROOT, інакше збірки поскарзяться на те, що ANDROID_HOME застаріло.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.