可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
I am trying to build android for ionic in linux but its showing me an error like this
[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)
and i've added this in my bashrc file
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"
I'm thinking i've given the path but i dont know why its showing me this error .. Please help....
回答1:
Android Home should be the root folder of SDK.
export ANDROID_HOME="$HOME/android-sdk-linux"
EDIT: Open terminal and type these commands. (yes, on a ternimal , not in bashrc file)
export ANDROID_HOME=~/android-sdk-macosx
PATH=$PATH:$ANDROID_HOME/tools
PATH=$PATH:$ANDROID_HOME/platform-tools
and then in the same terminal just type android
. If configured you would be able to use build commands from this terminal. (it's a temporary solution)
回答2:
For OSX
into ~/.bash_profile add:
export ANDROID_HOME="/path/to/android-sdk-macosx"
export PATH="$ANDROID_HOME/platform-tools:$ANDROID_HOME/tools:$PATH"
and then execute it in terminal to take effect immediately;
into /etc/sudoers add: (you can use console: sudo visudo
)
Defaults env_keep += "ANDROID_HOME"
since the building process has to start with sudo
and Node's process.env
get the respective variables.
回答3:
Setup for Ubuntu
- download Android Studio or SDK only
- install
- set PATH
In my case Android and its SDK was installed by default under:
/root/Android/Sdk
Open terminal and edit ~/.bashrc
sudo su
vim ~/.bashrc
Export ANDROID_HOME and add folders with binaries to your PATH
export ANDROID_HOME=/root/Android/Sdk
PATH=$PATH:$ANDROID_HOME/tools
PATH=$PATH:$ANDROID_HOME/platform-tools
To refresh your PATH run
source ~/.bashrc
When ionic build android
still fails it could be because of wrong sdk version. To install correct versions and images run android
from command line. Since it is now in your PATH you should be able to run it from anywhere.
回答4:
Case: using SO Windows, try:
set ANDROID_HOME=C:\\android-sdk-windows
set PATH=%PATH%;%ANDROID_HOME%\tools;%ANDROID_HOME%\platform-tools
more in: http://spring.io/guides/gs/android/
Case: you don't have platform-tools:
cordova platforms list
cordova platforms add <Your_platform, example: Android>
回答5:
Download the android SDK
http://developer.android.com/sdk/installing/index.html
You only export the path of SDK folder.
export ANDROID_HOME="YOUR_PATH/sdk/"
回答6:
I had this problem when running sudo ionic run android
as root as these environmental variables were not persisted. Fixed by running sudo -E ionic run android
.
回答7:
The procedure is already well explained in the above answers. But if add the ANDROID_HOME
and PATH
to the .bashrc
or .zshrc
present in /home/username/
and try to run the ionic
command with sudo
, you may get this error again.
The reason is, it may look for the ANDROID_HOME
and PATH
in the .zshrc
file of root user instead of currently logged in user. So you shouldn't do that unless you add that in root user's .bashrc
or .zshrc
files.
回答8:
Windows - set environment variable permanently:
setx ANDROID_HOME "C:\Program Files\Android\android-sdk"
or
setx ANDROID_HOME "C:\Program Files (x86)\Android\android-sdk"
回答9:
You only have to edit your profile file like this:
sudo su
vim ~/.profile
and put this at the end of the file:
export ANDROID_HOME=/home/(user name)/Android/Sdk
export PATH=$PATH:/tools
export PATH=$PATH:/platform-tools
Save and close the file and do:
cd ~
source .profile
now if you do:
echo $ANDROID_HOME
it should show you something like this:
/home/(user name)/Android/Sdk
回答10:
For OSX
Great tutorial here:
https://www.youtube.com/watch?v=kY22NSBwV_s
No need to do any bash commands/symlinks:
- Install Java 6 runtime: https://support.apple.com/kb/DL1572?locale=de_DE
- Install Java JDK: http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
回答11:
In my Case: I have put the correct path for Android and java but still getting the error.
The problem was that I have added the Android platform using sudo command.sudo ionic cordova platform android
.
To solve my problem:
First I have removed the platform android by running command
sudo ionic cordova platform rm android
then add the android platform again with out sudoionic cordova platform add android
but i get the error of permissions.
To resolve the error run command
sudo chmod -R 777 {Path-of-your-project}
in my case sudo chmod -R 777 ~/codebase/IonicProject
Then run command
ionic cordova platform add android
or
ionic cordova run android
回答12:
To add ANDROID_HOME value permanently,
gedit ~/.bashrc
and add the following lines
export ANDROID_HOME=/root/Android/Sdk
PATH=$PATH:$ANDROID_HOME/tools
Save the file and you need not update ANDROID_HOME value everytime.