Échec de la recherche de la variable d'environnement "ANDROID_HOME"


131

J'essaye de construire un projet ionique-android et j'ai android sdk installé.

Packages installés du gestionnaire de SDK

Le nom de mon projet est myApp.J'ai ajouté avec succès la plateforme Android à myApp. Mais quand j'essaye de construire le projet

~/myApp$ sudo ionic build android

le résultat est

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.

voir les variables ANDROID_HOME et 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

J'ai vu presque le même genre de questions sur le débordement de pile, mais aucune ne fonctionne pour moi. Y a-t-il un problème avec ma configuration android-sdk? Comment puis-je construire ce projet?


2
Votre ANDROID_HOME ressemble plus à un PATH. Lorsque vous faites écho, il ne devrait revenir que /home/hari/Android/Sdk(en supposant que ce soit correct)
OneCricketeer

Voir ma réponse sur [Cette question] ( stackoverflow.com/questions/35110403/… ) ça va le réparer pour vous
Ramy hakam

Je dois le saisir à chaque fois que j'ouvre le terminal, comment puis-je le conserver?
Luke Flournoy le

@LukeFlournoy Voir les "choses prioritaires" (étapes 1 et 2) de cette réponse
Diego Somar

Réponses:


200

Vous souhaiterez peut-être confirmer que votre environnement de développement a été défini correctement.

Citant de spring.io :

Configurer l'environnement de développement Android

Avant de pouvoir créer des applications Android, vous devez installer le SDK Android. L'installation du SDK Android installe également AVD Manager, une interface utilisateur graphique permettant de créer et de gérer des périphériques virtuels Android (AVD).

  1. À partir du site Web Android , téléchargez la version correcte du SDK Android pour votre système d'exploitation.

  2. Décompressez l'archive à l'emplacement de votre choix. Par exemple, sous Linux ou Mac, vous pouvez le placer à la racine de votre répertoire utilisateur. Consultez le site Web des développeurs Android pour plus de détails sur l'installation.

  3. Configurez la ANDROID_HOMEvariable d'environnement en fonction de l'emplacement du SDK Android. En outre, pensez à ajouter ANDROID_HOME/toolset ANDROID_HOME/platform-toolsà votre 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

les fenêtres

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

Le téléchargement du SDK Android n'inclut pas les plates-formes Android spécifiques. Pour exécuter le code de ce guide, vous devez télécharger et installer la dernière plate-forme SDK. Pour ce faire, utilisez le SDK Android et AVD Manager que vous avez installés dans la section précédente.

  1. Ouvrez la fenêtre Android SDK Manager :

    android

    Remarque: si cette commande n'ouvre pas le gestionnaire de SDK Android , votre chemin n'est pas configuré correctement.

  2. Cochez la case Outils .

  3. Cochez la case du dernier SDK Android .

  4. Dans le dossier Extras , cochez la case de la bibliothèque de support Android .

  5. Cliquez sur Installer les packages ... bouton pour terminer le téléchargement et l'installation.

    Remarque: vous souhaiterez peut-être installer toutes les mises à jour disponibles, mais sachez que cela prendra plus de temps, car chaque niveau d'API est un téléchargement volumineux.


1
en no 3 (configurer la variable ANRDOID_HOME): Dans quel fichier doit-il se trouver?
suMi

@suMi vous exécutez la commande d'exportation à partir de votre terminal en fonction de votre système d'exploitation et modifiez le CHEMIN que vous définissez comme ANDROID_HOMEégal à en fonction de l'endroit où vous avez enregistré le SDK. Voir stackoverflow.com/questions/19986214/… pour plus de détails.
Brad W

@suMI Si vous voulez que les modifications soient permanentes, ajoutez ces lignes à votre .bashrc si vous êtes sous Linux ou Mac.
brt

si quelqu'un rencontre ce problème lors de la construction de teamcity, vous devez créer des paramètres d'environnement sur teamcity pour ANDROID_HOME.
lawphotog

Qu'est-ce que c'est /android-sdk-linux, toolset platform-tools? Je ne vois pas de tels répertoires dans mon /opt/android-studio. Mon Android Studio fonctionne mais je n'ai pas ces répertoires.
Dzintars

38

Sous Linux

Tout d'abord, définissez ANDROID_HOME dans le fichier .bashrc

Exécuter la commande

sudo gedit ~/.bashrc

définir le chemin du sdk andoid où vous avez installé

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

pour recharger le fichier, exécuter la commande

source ~/.bashrc

Maintenant, vérifiez la plate-forme installée, exécutez la commande

ionic platform

Production

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 est déjà installé, vous devez le supprimer et le réinstaller

ionic platform rm android
ionic platform add android

S'il n'est pas déjà installé, veuillez ajouter la plate-forme Android

ionic platform add android

Veuillez vous assurer que vous avez ajouté la plate-forme Android sans la commande sudo

si vous obtenez toujours une erreur lors de l'ajout de la plate-forme Android comme suit

Erreur: EACCES: autorisation refusée, ouvrez '/home/ubuntu/.cordova/lib/npm_cache/cordova-android/6.0.0/package/package.json'

Veuillez aller dans / home / ubuntu / et supprimer le dossier .cordova à partir de là

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

Maintenant, exécutez à nouveau la commande suivante

ionic platform add android

après avoir ajouté la plate-forme avec succès, vous pourrez construire andoid en ionique.

Merci


14
à partir de la version 3.0.0 c'est le cas ionic cordova platform add android.
Baumi

28

Voici les étapes que vous devez suivre pour configurer avec succès votre projet Ionic pour qu'il fonctionne avec l'émulateur Android:

  1. Créer un projet ionique: onglets appName de démarrage ionique (pour le thème de l'onglet)
  2. cd appName
  3. configuration ionique sass
  4. Pour démarrer l'application sur le Web: service ionique

Pour ajouter une plate-forme Android:

Choses prioritaires

Vous devez d'abord configurer les variables d'environnement. Pour cela, vous devez considérer 3 fichiers:

1. ~ / .profile (Pour configurer les variables à chaque ouverture du terminal ou démarrage de l'ordinateur):

// Code que vous devez ajouter à la fin

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 (pour définir les variables d'environnement):

// Tout le contenu du fichier

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 :

// Code que vous devez ajouter à la fin

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

Pour charger les modifications ci-dessus apportées au fichier, vous devez exécuter la commande suivante:

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

Choses Posteori

1. Ajouter une plate-forme: plate-forme ionique ajouter Android (Notez que vous devez exécuter cette commande sans sudo )

2. Si vous obtenez toujours une erreur dans la commande ci-dessus, procédez comme suit: (ici 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. Pour exécuter l'application dans votre émulateur Android: ionic run android

Merci!


Merci Nikhil, cela a fonctionné pour moi aussi. Après avoir essayé beaucoup de choses - cela a fonctionné avec les étapes ci-dessus que vous avez fournies :-)
Rajeev Jayaswal

J'ai fini par avoir un problème de «boucle de connexion» après avoir ajouté les variables Java et Android à / etc / environment. Heureusement, j'ai pu supprimer cela de la connexion du terminal (ctrl + alt + F3) et la connexion est maintenant normale.
Harry

8

Pour ceux qui ont une édition SDK portable sur Windows, ajoutez simplement les 2 chemins suivants à votre système.

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

Cela a fonctionné pour moi.


Je me demande pourquoi ma réponse a été rejetée. Est-il possible d'avoir la raison de cette action?
BoCyrill du

2
parce que vous ne dites pas comment les ajouter?
Florian Lauterbach

1
Exactement, vous n'avez pas spécifié comment faire ce processus.
Anuj

8

J'ai eu ce problème avant.
Vous devez ajouter sdks\toolset sdks\build-toolsà votre chemin d'environnement.


5

Exécuter: sudo gedit ~/.bashrc ajouter

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

et

source ~/.bashrc

5

11 avril 2019

Aucune des réponses ci-dessus n'a résolu mon problème, je voulais donc inclure une solution actuelle (à partir d'avril 2019) pour les personnes utilisant Ubuntu 18.04. C'est ainsi que j'ai résolu la question ci-dessus ...

  1. J'ai installé le SDK Android à partir du site Web et je l'ai mis dans ce dossier:/usr/lib/Android/
  2. Recherchez l'emplacement d'installation du SDK et la version. Dans mon cas, c'était ici:

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

    Remarque: que j'utilise la version 28.0.3, votre version peut différer.

  3. Ajoutez ANDROID_HOMEau chemin de l'environnement. Pour ce faire, ouvrez / etc / environment avec un éditeur de texte:

    sudo nano /etc/environment

    Ajoutez une ligne pour ANDROID_HOMEvotre version et votre chemin spécifiques. Dans mon cas, c'était:

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

  4. Enfin, source l'environnement mis à jour avec: source /etc/environment

    Confirmez ceci en essayant: echo $ANDROID_HOMEdans le terminal. Vous devriez obtenir le chemin de votre variable nouvellement créée.

    Une note supplémentaire sur l'approvisionnement, j'ai dû redémarrer mon ordinateur pour que le terminal VScode reconnaisse mes modifications. Après le redémarrage, l'environnement a été défini et je n'ai eu aucun problème depuis.


2

Je voudrais partager une réponse qui démontre également l'approche utilisant le SDK Android fourni par le référentiel Ubuntu:

Installez le SDK Android

sudo apt-get install android-sdk

Exporter les variables environnementales

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

1

Je suis venu ici de Google à la recherche du même problème et j'ai perdu 4 heures pour comprendre ce qui pourrait ne pas aller. Et maintenant, je me sens vraiment stupide en postant cette réponse. Dans mon cas, SDK, JDK, JRE, Ant et tout le reste ont été installés et fonctionnaient un jour avant.

Mais un seul projet en particulier me posait ce problème. Celui-ci était sous "C: \ Users \ Name \ Documents" emplacement

Bientôt, j'ai réalisé que j'exécutais cmd en tant qu'utilisateur normal, dès que j'ai choisi « Exécuter en tant qu'administrateur ", tout a commencé à fonctionner.

Conseil: considérez toujours attentivement l'emplacement du projet!


1

Cela a résolu mon problème. Ajoutez ci-dessous à votre chemin système

PATH_TO_android \ plates-formes

PATH_TO_android \ platform-tools


0

J'ai rencontré ce problème sur l'ordinateur Windows7: l'arrêt de l'ordinateur pendant l'exécution du service ionique (je suppose que c'est le problème qui a tout corrompu)

Supprimez le nœud COMPLÈTEMENT et réinstallez tout sur une nouvelle copie de nœud


0

Sous Windows, si vous exécutez cette commande à partir du terminal de code VS et même après avoir configuré toutes les variables d'environnement (iebuild-tools, platform-tools, tools), cela ne fonctionne pas en essayant d'exécuter la même commande à partir d'un terminal cmd externe. Dans mon cas, même après le démarrage d'un nouveau terminal de code VS, il n'a pas pu emprunter le chemin d'environnement mis à jour.

Cela a fonctionné lorsque j'ai exécuté la même commande à partir de Windows cmd.


0

Pour définir l' environnement ANDROID_HOME sur ubuntu 20.04, visitez le magasin d'instantanés d'Ubuntu et installez le studio Android, puis ouvrez

vim $HOME/.bashrc

Et définissez les variables d'environnement comme suit:

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}

Avec les versions récentes d'Android Studio, remplacez ANDROID_HOME par ANDROID_SDK_ROOT, sinon les versions se plaindront du fait qu'ANDROID_HOME est obsolète.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.