今天遇到了一个比较蛋疼的事情,因为我切换了AS的升级渠道「从稳定版到了金丝雀版」,自然而然的少不了按照最新的Preview版本。前两天闲来无聊,将原始的2.x版本进行了删除,那么问题来了。

正常的跑程序都没有问题,但当使用命令行的语句的时候,就会出现这样的错误:

ERROR: JAVA_HOME is set to an invalid directory: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home

Please set the JAVA_HOME variable in your environment to match the
location of your Java installation.

问题很明显,自己的JAVA环境出问题了。之前的JAVA_HOME应该是指向了AS的目录中。但是我记得我之前配置了一次JAVA_HOME,所以打开终端查看一下:

echo $JAVA_HOME
/Applications/Android Studio.app/Contents/jre/jdk/Contents/Home
vim ~/.bash_profile

打开了.bash_profile并没有发现有什么不同,我自己还写了一个地址给它:

JAVA_HOME=xxxx
exprot JAVA_HOME

另我百思不得其解的是,我这里明明写了一个地址为何,在系统的输出却不是这样的。找了很久原因才发现,自己把自己骗了。修改为:

export JAVA_HOME="$(/usr/libexec/java_home -v 1.8)"

重要:保存上面的.bash_profile后,记得通过source ~/.bash_profile进行刷新操作