离子android构build错误 – 无法find“ANDROID_HOME”环境variables
我正在尝试在linux中为离子build立android,但是它向我展示了这样一个错误
[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) 我已经在我的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" 
我想我已经给了path,但我不知道为什么它显示我这个错误..请帮助….
Android Home应该是SDK的根文件夹。
 export ANDROID_HOME="$HOME/android-sdk-linux" 
编辑 :打开terminal并input这些命令。 (是的,在一个ternimal,而不是在bashrc文件)
 export ANDROID_HOME=~/android-sdk-macosx PATH=$PATH:$ANDROID_HOME/tools PATH=$PATH:$ANDROID_HOME/platform-tools 
 然后在同一个terminal上inputandroid 。 如果已configuration,则可以使用此terminal的构build命令。  (这是一个临时解决scheme) 
对于OSX
- 
进入〜/ .bash_profile添加: export ANDROID_HOME="/path/to/android-sdk-macosx" export PATH="$ANDROID_HOME/platform-tools:$ANDROID_HOME/tools:$PATH"然后在terminal执行立即生效; 
- 
进入/ etc / sudoers添加:(你可以使用console: sudo visudo)Defaults env_keep += "ANDROID_HOME"因为构build过程必须以 sudo和Node的process.env获取各自的variables。
安装Ubuntu
- 仅下载Android Studio或SDK
- 安装
- 设置PATH
在我的情况下,Android和它的SDK默认情况下安装在:
 /root/Android/Sdk 
打开terminal并编辑〜/ .bashrc
 sudo su vim ~/.bashrc 
导出ANDROID_HOME并将包含二进制文件的文件夹添加到PATH中
 export ANDROID_HOME=/root/Android/Sdk PATH=$PATH:$ANDROID_HOME/tools PATH=$PATH:$ANDROID_HOME/platform-tools 
刷新你的PATH运行
 source ~/.bashrc 
 当ionic build android仍然失败,这可能是因为错误的SDK版本。 要安装正确的版本和图像从命令行运行android 。 既然它现在在你的PATH中,你应该可以从任何地方运行它。 
案例:使用SO Windows,请尝试:
 set ANDROID_HOME=C:\\android-sdk-windows set PATH=%PATH%;%ANDROID_HOME%\tools;%ANDROID_HOME%\platform-tools 
更多: http : //spring.io/guides/gs/android/
案例:你没有平台工具:
 cordova platforms list cordova platforms add <Your_platform, example: Android> 
下载android SDK http://developer.android.com/sdk/installing/index.html
您只能导出SDK文件夹的path。
 export ANDROID_HOME="YOUR_PATH/sdk/" 
 上面的答案已经很好地解释了这个过程。 但是,如果将ANDROID_HOME和PATH添加到/home/username/的.bashrc或.zshrc ,并尝试使用sudo运行ionic命令,则可能会再次出现此错误。 
 原因是,它可能会在root用户的.zshrc文件中查找ANDROID_HOME和PATH ,而不是当前login的用户。 所以你不应该这样做,除非你在root用户的.bashrc或.zshrc文件中添加这个。 
 运行sudo ionic run android作为根,因为这些环境variables不被持久化,我有这个问题。 通过运行sudo -E ionic run android修复。 
Windows – 永久设置环境variables:
setx ANDROID_HOME“C:\ Program Files \ Android \ android-sdk”
要么
setx ANDROID_HOME“C:\ Program Files(x86)\ Android \ android-sdk”
你只需要像这样编辑你的configuration文件:
 sudo su vim ~/.profile 
并把它放在文件的末尾:
 export ANDROID_HOME=/home/(user name)/Android/Sdk export PATH=$PATH:/tools export PATH=$PATH:/platform-tools 
保存并closures该文件,然后执行:
 cd ~ source .profile 
现在如果你这样做:
 echo $ANDROID_HOME 
它应该告诉你这样的事情:
 /home/(user name)/Android/Sdk 
对于OSX
大教程在这里: https : //www.youtube.com/watch?v=kY22NSBwV_s
不需要做任何bash命令/符号链接:
- 安装Java 6运行时: https : //support.apple.com/kb/DL1572?locale = de_DE
- 安装Java JDK: http : //www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
在我的情况:我已经把Android和Java的正确path,但仍然得到错误。
 问题是我已经使用sudo命令添加了Android平台。  sudo ionic cordova platform android 。 
解决我的问题:首先,我通过运行命令删除了平台android
sudo离子cordova平台rm android
 然后添加Android平台再出来sudo ionic cordova platform add android但我得到权限的错误。 
解决错误运行命令
sudo chmod -R 777 {您的项目path}
 在我的情况下sudo chmod -R 777 ~/codebase/IonicProject然后运行命令 
离子cordova平台添加android
要么
离子cordova运行android