EGH*_*HDK 13 java macos android gradle
我尝试./gradlew从Android项目目录运行,但是我得到一个错误:
错误: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
lod*_*ock 27
检查/ usr/libexec/java_home是否存在.如果是,那么尝试运行
export JAVA_HOME=`/usr/libexec/java_home`
Run Code Online (Sandbox Code Playgroud)
并重新运行你的gradlew构建.如果它工作,那么使其永久化
echo export "JAVA_HOME=\$(/usr/libexec/java_home)" >> ~/.bash_profile
Run Code Online (Sandbox Code Playgroud)
Eri*_*ing 21
对我来说,无论我尝试什么,我都会遇到这个错误。删除 JAVA_HOME var 对我有用。
Rah*_*ran 13
如果您在 2021 年升级到Android Studio Arctic Fox (2020.3.1) Stable后看到此消息,那么以下答案应该有助于您解锁。
从“文件”菜单打开“项目结构”窗口,您可以看到 JDK 位置现在已移至 Gradle 设置中。

现在,单击 Gradle 设置链接,您可以看到另一个窗口,其中指定了当前 JDK 位置。

现在您应该编辑~/.bashrcOR~/.zshrc来更新 JAVA_HOME 环境变量的值。
就是这样!
现在运行source ~/.bashrcORsource ~/.zshrc命令或重新启动终端并享受./gradlew在项目中运行该命令的乐趣。
干杯!
我已将以下内容添加到我的中.bash_profile,以帮助解决此类问题。这还有一个额外的好处,那就是能够setjdk {version}动态运行和切换 java 版本。
function setjdk() {
if [ $# -ne 0 ]; then
removeFromPath '/System/Library/Frameworks/JavaVM.framework/Home/bin'
if [ -n "${JAVA_HOME+x}" ]; then
removeFromPath $JAVA_HOME
fi
export JAVA_HOME=`/usr/libexec/java_home -v $@`
export PATH=$JAVA_HOME/bin:$PATH
fi
}
function removeFromPath() {
export PATH=$(echo $PATH | sed -E -e "s;:$1;;" -e "s;$1:?;;")
}
#Default JDK to Java 8
setjdk 1.8
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
15666 次 |
| 最近记录: |