Error al encontrar la variable de entorno 'ANDROID_HOME'

131

Estoy tratando de construir un proyecto iónico-Android y tengo Android SDK instalado.

Paquetes instalados del administrador de SDK

El nombre de mi proyecto es myApp. He agregado con éxito la plataforma de Android a myApp. Pero cuando trato de construir el proyecto

~/myApp$ sudo ionic build android

el resultado es

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.

ver la variable ANDROID_HOME y 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

He visto casi el mismo tipo de preguntas sobre el desbordamiento de la pila, pero ninguna me funciona. ¿Hay algún problema con mi configuración de Android-SDK? ¿Cómo puedo construir este proyecto?

Hari Krishnan
fuente
2
Tu ANDROID_HOME se parece más a una RUTA. Cuando hagas eco, solo debería volver /home/hari/Android/Sdk(suponiendo que sea correcto)
OneCricketeer
Vea mi respuesta en [Esta pregunta] ( stackoverflow.com/questions/35110403/… ) lo solucionará por usted
Ramy hakam
Tengo que ingresar esto cada vez que abro el terminal, ¿cómo lo persisto?
Luke Flournoy
@LukeFlournoy Vea las "Cosas prioritarias" (pasos 1 y 2) de esta respuesta
Diego Somar

Respuestas:

200

Es posible que desee confirmar que su entorno de desarrollo se ha configurado correctamente.

Citando de spring.io :

Configurar el entorno de desarrollo de Android

Para poder crear aplicaciones de Android, debe instalar el SDK de Android. La instalación del SDK de Android también instala el Administrador de AVD, una interfaz gráfica de usuario para crear y administrar dispositivos virtuales Android (AVD).

  1. Desde el sitio web de Android , descargue la versión correcta del SDK de Android para su sistema operativo.

  2. Descomprima el archivo en la ubicación que elija. Por ejemplo, en Linux o Mac, puede colocarlo en la raíz de su directorio de usuario. Consulte el sitio web de desarrolladores de Android para obtener detalles adicionales de instalación.

  3. Configure la ANDROID_HOMEvariable de entorno en función de la ubicación del SDK de Android. Además, considere agregar ANDROID_HOME/toolsy ANDROID_HOME/platform-toolsa su RUTA.

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

Ventanas

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

La descarga del SDK de Android no incluye plataformas específicas de Android. Para ejecutar el código en esta guía, debe descargar e instalar la última plataforma SDK. Para ello, utilice el SDK de Android y el Administrador de AVD que instaló en la sección anterior.

  1. Abra la ventana del Administrador de Android SDK :

    android

    Nota: Si este comando no abre el SDK Manager de Android , su ruta no está configurada correctamente.

  2. Seleccione la casilla de verificación Herramientas .

  3. Seleccione la casilla de verificación para el último SDK de Android .

  4. Desde la carpeta Extras , seleccione la casilla de verificación de la Biblioteca de soporte de Android .

  5. Haga clic en el botón Instalar paquetes ... para completar la descarga e instalación.

    Nota: es posible que desee instalar todas las actualizaciones disponibles, pero tenga en cuenta que tomará más tiempo, ya que cada nivel de API es una descarga grande.

Brad W
fuente
1
en el no 3 (configurar la variable ANRDOID_HOME): ¿En qué archivo debería estar?
suMi
@suMi ejecuta el comando de exportación desde su terminal en función de su sistema operativo y cambia la RUTA que estableció ANDROID_HOMEen función de dónde guardó el SDK. Consulte stackoverflow.com/questions/19986214/… para obtener más detalles.
Brad W
@suMI Si desea que los cambios sean permanentes, agregue esas líneas a su .bashrc si está en Linux o Mac.
brt
si alguien se encuentra con este problema desde teamcity, debe crear parámetros env en teamcity para ANDROID_HOME.
lawphotog
¿Qué es eso /android-sdk-linux, toolsy platform-tools? No veo tales directorios en mi /opt/android-studio. Mi Android Studio se está ejecutando pero no tengo esos directorios.
Dzintars
38

En linux

En primer lugar, configure ANDROID_HOME en el archivo .bashrc

Ejecutar comando

sudo gedit ~/.bashrc

establecer la ruta de sdk de andoid donde ha instalado

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

para volver a cargar el comando ejecutar archivo

source ~/.bashrc

Ahora verifique la plataforma instalada, ejecute el comando

ionic platform

Salida

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

si Android ya está instalado, entonces debe eliminarlo e instalarlo nuevamente

ionic platform rm android
ionic platform add android

Si aún no está instalado, agregue la plataforma Android

ionic platform add android

Asegúrate de haber agregado la plataforma de Android sin el comando sudo

si sigues recibiendo un error al agregar la plataforma de Android como seguir

Error: EACCES: permiso denegado, abra '/home/ubuntu/.cordova/lib/npm_cache/cordova-android/6.0.0/package/package.json'

Vaya a / home / ubuntu / y elimine la carpeta .cordova desde allí

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

Ahora ejecute el siguiente comando nuevamente

ionic platform add android

Después de agregar la plataforma con éxito, podrá construir andoid en iónico.

Gracias

Dineshaws
fuente
14
desde la versión 3.0.0 es ionic cordova platform add android.
Baumi
28

Estos son los pasos que debe seguir para configurar con éxito su Proyecto Ionic para que funcione con el emulador de Android:

  1. Cree un proyecto iónico: pestañas de nombre de aplicación de inicio iónico (para el tema de pestañas)
  2. cd appName
  3. configuración iónica sass
  4. Para iniciar la aplicación en la web: servicio iónico

Para agregar la plataforma de Android:

Cosas Priori

Primero necesita configurar las variables de entorno. Para esto, debe considerar 3 archivos:

1. ~ / .profile (para configurar las variables cada vez que se abre el terminal o se inicia la computadora):

// Código que debes agregar al final

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 (para establecer las variables de entorno):

// Todo el contenido del archivo

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 / perfil :

// Código que debes agregar al final

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

Para cargar los cambios anteriores realizados en el archivo, debe ejecutar el siguiente comando:

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

Cosas Posteori

1. Agregar plataforma: plataforma iónica agregar Android (tenga en cuenta que necesita ejecutar este comando sin sudo )

2. Si todavía recibe un error en el comando anterior, haga lo siguiente: (aquí 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. Para ejecutar la aplicación en su emulador de Android: ionic run android

¡Gracias!

Nikhil Arora
fuente
Gracias Nikhil, también funcionó para mí. Después de probar muchas cosas, funcionó con los pasos anteriores que proporcionó :-)
Rajeev Jayaswal
Terminé teniendo un problema de 'bucle de inicio de sesión' después de agregar las variables Java y Android al entorno / etc /. Afortunadamente pude eliminar eso del inicio de sesión del terminal (ctrl + alt + F3) y el inicio de sesión es normal ahora.
Harry
8

Para aquellos que tienen una edición portátil de SDK en Windows, simplemente agregue las 2 siguientes rutas a su sistema.

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

Esto funcionó para mí.

BoCyrill
fuente
Me pregunto por qué mi respuesta fue rechazada. ¿Es posible tener la razón de esta acción?
BoCyrill
2
porque no estás diciendo cómo agregarlos?
Florian Lauterbach
1
Exactamente, no especificó cómo hacer ese proceso.
Anuj
8

Tuve este problema antes.
Necesita agregar sdks\toolsy sdks\build-toolsa su ruta de entorno.

Jalaleddin Hosseini
fuente
5

Ejecutar: sudo gedit ~/.bashrc agregar

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

y

source ~/.bashrc
Diego Salguero
fuente
5

11 de abril de 2019

Ninguna de las respuestas anteriores resolvió mi problema, por lo que quería incluir una solución actual (a partir de abril de 2019) para las personas que usan Ubuntu 18.04. Así es como resolví la pregunta anterior ...

  1. Instalé el SDK de Android desde el sitio web y lo puse en esta carpeta:/usr/lib/Android/
  2. Busque dónde está instalado el SDK y la versión. En mi caso fue aquí:

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

    Nota: que estoy usando la versión 28.0.3, su versión puede diferir.

  3. Añadir ANDROID_HOMEa la ruta del entorno. Para hacer esto, abra / etc / environment con un editor de texto:

    sudo nano /etc/environment

    Agregue una línea para ANDROID_HOMEsu versión y ruta específicas. En mi caso fue:

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

  4. Finalmente, obtenga el entorno actualizado con: source /etc/environment

    Confirme esto intentando: echo $ANDROID_HOMEen la terminal. Debería obtener la ruta de su variable recién creada.

    Una nota adicional sobre el abastecimiento, tuve que reiniciar mi computadora para que el terminal VScode reconociera mis cambios. Después del reinicio, se configuró el entorno y no he tenido ningún problema desde entonces.

bsheps
fuente
2

Me gustaría compartir una respuesta que también demuestra el enfoque utilizando el SDK de Android proporcionado por el repositorio de Ubuntu:

Instalar Android SDK

sudo apt-get install android-sdk

Exportar variables ambientales

export ANDROID_HOME="/usr/lib/android-sdk/"
export PATH="${PATH}:${ANDROID_HOME}tools/:${ANDROID_HOME}platform-tools/"
Muhammad Numan
fuente
1

Vine aquí desde google buscando el mismo problema y desperdicié 4 horas para descubrir qué podría estar mal. Y ahora me siento realmente estúpido al publicar esta respuesta. En mi caso, SDK, JDK, JRE, Ant y todo lo demás estaba instalado y funcionando un día antes.

Pero solo un proyecto en particular me estaba dando este problema. Este estaba en la ubicación "C: \ Usuarios \ Nombre \ Documentos"

Pronto me di cuenta de que estaba ejecutando cmd como usuario normal, tan pronto como elegí " Ejecutar como administrador " todo comenzó a funcionar.

Consejo: ¡Siempre considere cuidadosamente la ubicación del proyecto!

Golpear en
fuente
1

Esto resolvió mi problema. Agregue a continuación a la ruta de su sistema

PATH_TO_android \ plataformas

PATH_TO_android \ platform-tools

PKInd007
fuente
0

Experimenté este problema en la computadora con Windows 7: la computadora se apagó mientras se ejecutaba el servicio iónico (supongo que ese fue el problema que corrompió todo)

Elimine el nodo COMPLETAMENTE y vuelva a instalar todo en una copia de nodo nuevo

DudeOfLayers
fuente
0

En Windows, si está ejecutando este comando desde el terminal de código VS e incluso después de configurar todas las variables de entorno (es decir, herramientas de construcción, herramientas de plataforma, herramientas), no funciona al intentar ejecutar el mismo comando desde un terminal cmd externo. En mi caso, incluso después de iniciar un nuevo terminal de código VS, no fue capaz de tomar la ruta actualizada del entorno.

Funcionó cuando ejecuté el mismo comando desde el cmd de Windows.

himanshu goyal
fuente
0

Para configurar el entorno ANDROID_HOME en ubuntu 20.04, visite la tienda Snap de Ubuntu e instale Android Studio y luego abra

vim $HOME/.bashrc

Y configure las variables de entorno de la siguiente manera:

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}

Con las versiones recientes de Android Studio, reemplace ANDROID_HOME con ANDROID_SDK_ROOT; de lo contrario, las compilaciones se quejarán de que ANDROID_HOME está en desuso.

Hamfri
fuente