在OSX上运行./gradlew时,JAVA_HOME设置为无效目录。
在OSX上运行./gradlew时,JAVA_HOME设置为无效目录。
我尝试在Android项目目录下运行./gradlew
,但出现以下错误:
错误:JAVA_HOME设置为无效目录:
/Library/Java/JavaVirtualMachines/jdk1.8.0_11.jdk/Contents/Home
请在您的环境中设置JAVA_HOME变量以匹配
您的Java安装位置。
我尝试过的事情:
- 导航到
/Library/Java/JavaVirtualMachines
。存在jdk1.8.0_11.jdk
,但也存在jdk1.7.0_79.jdk
which java
输出/usr/bin/java
printenv
输出
...
JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_11.jdk/Contents/Home
JDK_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_11.jdk/Contents/Home
...
javac -version
输出javac 1.8.0_11
which javac
输出/usr/bin/javac
问题原因:在升级到Android Studio Arctic Fox (2020.3.1) Stable后,出现了"JAVA_HOME is set to an invalid directory"的错误提示。原因是JDK的位置已经从项目结构窗口中移动到了Gradle设置中。
解决方法:
1. 打开"文件"菜单中的"项目结构"窗口。
2. 在Gradle设置中,点击"Gradle设置"链接,可以看到当前的JDK位置。
3. 编辑你的~/.bashrc或者~/.zshrc文件,更新JAVA_HOME环境变量的值。
4. 运行"source ~/.bashrc"或者"source ~/.zshrc"命令,或者重启终端,然后就可以愉快地在项目中运行"./gradlew"命令了。
升级到Android Studio Arctic Fox (2020.3.1) Stable后,由于JDK位置被移动到Gradle设置中,可能会出现"JAVA_HOME is set to an invalid directory"的错误提示。要解决这个问题,需要打开"项目结构"窗口,点击"Gradle设置"链接,编辑JAVA_HOME环境变量的值,并运行相应的命令或者重启终端。这样就可以正常地运行"./gradlew"命令了。
如果/usr/libexec/java_home不存在,则需要检查Java的安装情况。可以尝试运行以下命令来查看是否已成功安装Java:
java -version
如果Java未安装或安装不正确,可以按照以下步骤来解决问题:
1. 首先,确保您的操作系统是最新的。可以通过前往“系统偏好设置”>“软件更新”来检查并安装最新的更新。
2. 接下来,您可以尝试通过命令行安装Java。打开终端并输入以下命令:
brew update
brew tap caskroom/versions
brew cask install java8
3. 安装完成后,再次运行java -version
来验证Java是否已正确安装。
4. 如果您仍然遇到问题,可以尝试手动设置JAVA_HOME变量。打开终端并输入以下命令:
which java
该命令将显示Java的安装路径。将此路径复制并使用以下命令设置JAVA_HOME变量(将“/path/to/java”替换为实际的Java安装路径):
export JAVA_HOME=/path/to/java
5. 最后,重新运行./gradlew build
命令来构建您的项目。
如果您仍然遇到问题,建议您在开发者社区或相关论坛上寻求帮助,以获取更详细的指导和支持。