J'essaie de construire Android pour ionic sous Linux, mais sa montre une erreur comme celle-ci
[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)
et j'ai ajouté cela dans mon fichier 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"
Je pense que j'ai donné le chemin mais je ne sais pas pourquoi sa montre cette erreur .. S'il vous plaît, aidez ....
Android Home devrait être le dossier racine du SDK.
export Android_HOME="$HOME/Android-sdk-linux"
EDIT: Ouvrez le terminal et tapez ces commandes. (oui, sur un fichier ternimal, pas dans le fichier bashrc)
export Android_HOME=~/Android-sdk-macosx
PATH=$PATH:$Android_HOME/tools
PATH=$PATH:$Android_HOME/platform-tools
et dans le même terminal, tapez simplement Android
. Si configuré, vous pourrez utiliser les commandes de construction de ce terminal. (c'est une solution temporaire)
dans ~/.bash_profile add:
export Android_HOME="/path/to/Android-sdk-macosx"
export PATH="$Android_HOME/platform-tools:$Android_HOME/tools:$PATH"
puis exécutez-le dans le terminal pour prendre effet immédiatement;
dans/etc/sudoers add: (vous pouvez utiliser la console: Sudo visudo
)
Defaults env_keep += "Android_HOME"
puisque le processus de construction doit commencer par Sudo
et que le process.env
du nœud récupère les variables respectives.
Cas: en utilisant SO Windows, essayez:
set Android_HOME=C:\\Android-sdk-windows
set PATH=%PATH%;%Android_HOME%\tools;%Android_HOME%\platform-tools
plus dans: http://spring.io/guides/gs/Android/
Cas: vous n'avez pas d'outils de plate-forme:
cordova platforms list
cordova platforms add <Your_platform, example: Android>
Dans mon cas, Android et son SDK ont été installés par défaut sous:
/root/Android/Sdk
Ouvrir le terminal et éditer ~/.bashrc
Sudo su
vim ~/.bashrc
Exportez Android_HOME et ajoutez des dossiers avec des fichiers binaires à votre PATH
export Android_HOME=/root/Android/Sdk
PATH=$PATH:$Android_HOME/tools
PATH=$PATH:$Android_HOME/platform-tools
Pour actualiser votre parcours PATH
source ~/.bashrc
Lorsque ionic build Android
échoue toujours, cela peut être dû à une mauvaise version de sdk. Pour installer les versions et les images correctes, exécutez Android
à partir de la ligne de commande. Comme il est maintenant dans votre PATH, vous devriez pouvoir le lancer depuis n’importe où.
Téléchargez le SDK Android http://developer.Android.com/sdk/installing/index.html
Vous exportez uniquement le chemin du dossier SDK.
export Android_HOME="YOUR_PATH/sdk/"
J'ai eu ce problème lors de l'exécution de Sudo ionic run Android
en tant que racine car ces variables d'environnement n'étaient pas persistantes. Corrigé en exécutant Sudo -E ionic run Android
.
La procédure est déjà bien expliquée dans les réponses ci-dessus. Mais si vous ajoutez le Android_HOME
et le PATH
au .bashrc
ou au .zshrc
présent dans le /home/username/
et essayez d’exécuter la commande ionic
avec Sudo
, vous pouvez avoir cette erreur à nouveau.
La raison en est qu'il peut rechercher le Android_HOME
et le PATH
dans le fichier .zshrc
de l'utilisateur root au lieu de l'utilisateur actuellement connecté. Donc, vous ne devriez pas faire cela à moins d’ajouter cela dans les fichiers .bashrc
ou .zshrc
de l’utilisateur root.
Windows - définissez la variable d'environnement de manière permanente:
setx Android_HOME "C:\Programmes\Android\android-sdk"
ou
setx Android_HOME "C:\Fichiers de programme (x86)\Android\android-sdk"
Il vous suffit de modifier votre fichier de profil comme ceci:
Sudo su
vim ~/.profile
et mettez ceci à la fin du fichier:
export Android_HOME=/home/(user name)/Android/Sdk
export PATH=$PATH:/tools
export PATH=$PATH:/platform-tools
Enregistrez et fermez le fichier et faites:
cd ~
source .profile
maintenant si vous le faites:
echo $Android_HOME
il devrait vous montrer quelque chose comme ça:
/home/(user name)/Android/Sdk
Dans mon cas: J'ai mis le bon chemin pour Android et Java mais j'obtiens toujours l'erreur.
Le problème était que j'ai ajouté la plate-forme Android à l'aide de la commande Sudo .Sudo ionic cordova platform Android
.
Pour résoudre mon problème: D'abord j'ai enlevé la plate-forme Android en exécutant la commande
Sudo ionic cordova platform rm Android
puis ajoutez à nouveau la plate-forme Android avec Sudoionic cordova platform add Android
, mais je reçois l’erreur de permission.
Pour résoudre la commande error run
Sudo chmod -R 777 {Chemin de votre projet}
dans mon cas Sudo chmod -R 777 ~/codebase/IonicProject
Puis exécutez la commande
plate-forme ionique cordova ajouter Android
ou
cordova ionique sous Android
Pour ajouter la valeur Android_HOME de manière permanente ,
gedit ~/.bashrc
et ajouter les lignes suivantes
export Android_HOME=/root/Android/Sdk
PATH=$PATH:$Android_HOME/tools
Enregistrez le fichier et vous n'avez pas besoin de mettre à jour la valeur Android_HOME à chaque fois.
Grand tutoriel ici: https://www.youtube.com/watch?v=kY22NSBwV_s
Pas besoin de faire de commandes bash/liens symboliques: