gradlew 使用错误的 Java 版本

Par*_*mar 10 java macos android gradle

我正在使用 Kotlin 开发 Android 应用程序。我正在通过命令行 ./gradlew klint 运行 kotlin linter。
但这给了我一个错误:

Gradle 4.4 需要 Java 7 或更高版本才能运行。您当前使用的是 Java 6。

当我检查项目结构时,我使用的是嵌入式JDK。
我还将 android studio 更新到了最新版本。我不知道如何将嵌入式JDK更新到最新版本。

java version

“1.6.0_65”Java(TM) SE 运行时环境(版本 1.6.0_65-b14-468) Java HotSpot(TM) 64 位服务器 VM(版本 20.65-b04-468,混合模式)

which java- /usr/bin/java

echo $PATH-/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/username/Library/Android/sdk/platform-tools

echo $JAVA_HOME- 空的

cri*_*007 12

Android Studio 2.2 及更高版本捆绑了最新 OpenJDK的副本,这是我们建议您在 Android 项目中使用的 JDK 版本。

https://developer.android.com/studio/intro/studio-config.html#jdk

然而,这仅适用于在 Android Studio 中构建应用程序,而不是从终端使用gradlew,否则,它将使用操作系统$PATH变量上的任何内容。

为了使用嵌入式JDK,您至少需要设置JAVA_HOME,例如在Linux/Mac上,

$ export JAVA_HOME=/path/to/AndroidStudio/jdk  # TODO: Find this
$ ./gradlew
Run Code Online (Sandbox Code Playgroud)

不过,我的建议是使用适合您的操作系统的机制来安装 Java。

为了轻松管理 Java 库(在 Linux 和 Mac 上),您可以尝试使用sdkman


Vai*_*van 9

gradle.properties 可以更新为指向 Mac OS 中 Android Studio 附带的嵌入式 JDK:

org.gradle.java.home=/Applications/Android Studio.app/Contents/jre/jdk/Contents/Home