./gradlew操作无法完成。无法找到Java运行时。

23
当我在项目文件夹中运行./gradlew时,我会得到以下结果:
./gradlew
The operation couldn’t be completed. Unable to locate a Java Runtime.
Please visit http://www.java.com for information on installing Java.

与Java相同:
which java
/usr/bin/java

/usr/bin/java
The operation couldn’t be completed. Unable to locate a Java Runtime.
Please visit http://www.java.com for information on installing Java.

我在Android Studio中安装了JDK,似乎是安装在~/Library/Android/sdk/sources/android-28目录下。

设置export JAVA_HOME=/Users/mrgloom/Library/Android/sdk/sources/android-28/或者export JAVA_HOME=/Users/mrgloom/Library/Android/sdk会产生错误,如下:

ERROR: JAVA_HOME is set to an invalid directory: /Users/mrgloom/Library/Android/sdk/sources/android-28/

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

如何为gradlew指定Java路径?

1
Android SDK和Android源代码都不是JDK。 - OneCricketeer
1
听起来你应该使用 brew install openjdk@8 - OneCricketeer
似乎JDK已经随Android Studio一起提供了:https://developer.android.com/studio/intro/studio-config - mrgloom
这是我的看法,它只适用于IDE使用。如果您希望在IDE之外单独运行Gradle或Java命令,则应将其安装在IDE之外。 - OneCricketeer
2个回答

55

使用Android Studio附带的JDK,并设置export JAVA_HOME=/Applications/Android\ Studio.app/Contents/jre/Contents/Home对我有所帮助。


9
在我的bash配置文件中,我不得不将其用引号而非反斜杠包含起来: export JAVA_HOME="/Applications/Android Studio.app/Contents/jre/Contents/Home" - beyondtheteal
谢谢大家,帮助我在不需要安装Java的情况下安装新的AS。 - kodartcha
18
对于Android Studio Electric Eel和OSX Ventura 13.1,AS JDK位于不同的jbr文件夹中:export JAVA_HOME="/Applications/Android Studio.app/Contents/jbr/Contents/Home" - Oliver Metz

0

可能需要清除缓存并重新启动工作室。这些步骤对我有用 -

  1. 设置Java home。您可以在Android Studio中使用嵌入式JDK。

导出JAVA_HOME=/Applications/Android\ Studio.app/Contents/jre/Contents/Home。

如有需要,请参考在MAC中设置Java Home

  1. 关闭终端
  2. 无效缓存并重新启动 - 包括“清除文件系统缓存和本地历史记录”

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接