这两天在全新mac虚拟机里搭开发环境,web前端和IOS开发环境都很顺利,但android环境着实让人恼火。明明在AndroidStudio中都可以正常新建工程、正常撸码调试、正常运行到真机。但是!!!命令行中就是不行!!!
记录如下:
打开终端,进入cordova工程目录
cd Desktop/demo
cordova 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.
提示是android环境变量没配好导致的。可执行如下命令验证:
echo $ANDROID_HOME
你会发现输出为空。如果android环境变量ok,执行以上命令会输出android环境变量信息。
接下来开始配置android环境变量。
打开终端,默认处于系统当前登陆用户目录下,
Last login: Fri Oct 13 18:43:15 on ttys003
➜ ~ pwd
/Users/xbrother
在此目录下编辑.bash_profile文件,执行以下命令(.bash_profile文件存在则打开,不存在则新建):
vi .bash_profile
在此文件中配置android环境变量。我的配置如下:
export ANDROID_HOME=/Users/xbrother/Library/Android/android-sdk-macosx
export PATH=$PATH:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_77.jdk/Contents/Home
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export GRADLE_HOME=/Applications/Android\ Studio.app/Contents/gradle/gradle-3.3
export PATH=$PATH:$GRADLE_HOME/bin
其中xbrother为系统当前登陆账号。
不习惯在终端中编辑文本的话也可如下操作:
新建.bash_profile文件
touch .bash_profile
用文本框打开 .bash_profile文件
open -e .bash_profile
即可在文本框中编辑文件配置环境变量。
配置好环境变量后,执行以下命令才会生效:
source .bash_profile
完成以上配置后,可再次执行以下命令验证android环境变量是否ok:
echo $ANDROID_HOME
将会输出:
➜ ~ echo $ANDROID_HOME
/Users/xbrother/Library/Android/android-sdk-macosx
配置ok。
注意!!!
如此配置ok后,在当前终端窗口执行需要android环境变量的操作完全ok,但在其他终端窗口或新建终端窗口中依然会报错android环境变量未配置!重启终端甚至重启系统均不行,这就意味着后续操作都只能在当前终端窗口中进行。这是我不能接受的。网上查了好久,并没有找到可行的解决办法,貌似大家都如上配置就直接ok了。各位大神如果知道原因和解决办法,还请不吝赐教。