Gradle: 无法确定来自“11.0.2”的 java 版本
Gradle: Could not determine java version from '11.0.2'
我运行以下评论:
./gradlew app:installDebug
仅会见日志:
FAILURE: Build failed with an exception.
* What went wrong:
Could not determine java version from '11.0.2'.
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
* Get more help at https://help.gradle.org
我的gradle版本是5.1.1:
------------------------------------------------------------
Gradle 5.1.1
------------------------------------------------------------
Build time: 2019-01-10 23:05:02 UTC
Revision: 3c9abb645fb83932c44e8610642393ad62116807
Kotlin DSL: 1.1.1
Kotlin: 1.3.11
Groovy: 2.5.4
Ant: Apache Ant(TM) version 1.9.13 compiled on July 10 2018
JVM: 11.0.2 (Oracle Corporation 11.0.2+9-LTS)
OS: Mac OS X 10.13.6 x86_64
我不确定如何继续(我试过 upgrading/downgrading,但到目前为止没有任何效果)。
更新: 当我 运行 ./gradlew --version
时,我得到以下信息:
FAILURE: Build failed with an exception.
* What went wrong:
Could not determine java version from '11.0.2'.
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
* Get more help at https://help.gradle.org
我的 .../gradle/wrapper/gradle-wrapper.properties
包含以下内容,包括 distributionUrl=.../gradle-4.1-rc-1-all.zip
:
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-rc-1-all.zip
您的系统中有两个不同的 Gradle 应用程序。
全系统Gradle
此应用程序由 gradle (arguments)
.
调用
gradle-wrapper
gradle-wrapper 特定于每个项目,只能在项目目录中调用,使用命令 ./gradlew (arguments)
.
您的系统范围 gradle 版本是 5.1.1(正如 OP 在评论中解释的那样,运行 命令 gradle --version
返回版本 5.1.1)。
但是,失败是调用 gradle-wrapper (./gradlew
) 的结果。你能检查一下你的项目的 gradle 包装器版本吗?为此,请在项目文件夹内执行 ./gradlew --version
,在 gradlew 和 gradlew.bat 文件所在的目录中。
更新 1:
由于 运行 ./gradlew --version
失败,您可以通过打开文件手动检查包装器的版本:
(project's root folder)/gradle/wrapper/gradle-wrapper.properties
使用简单的文本编辑器。里面的“distributionUrl”应该告诉我们包装器的版本是什么。
更新二:
根据 OP 的更新问题,gradle-wrapper 的版本是 4.1RC1.
Gradle added support for JDK 11 in Gradle 5.0。因此,由于 4.1RC 在 JDK 11 上不支持 运行,这绝对是个问题。
显而易见的方法是将项目的 gradle-wrapper 更新到版本 5.0。
但是,在更新之前,请尝试 运行 gradle app:installDebug
。这将使用您系统范围内安装的 Gradle,其版本为 5.1.1 并在 Java 11 上支持 运行。如果这有效,那么您的构建脚本(文件 build.gradle)是不受 v.4.1RC1 和 v.5.1.1 之间的任何重大更改的影响,然后您可以通过从项目文件夹内的命令行执行来更新包装器:gradle wrapper --gradle-version=5.1.1
[*].
如果 gradle app:installDebug
无法正确执行,那么您可能需要升级 Gradle 构建脚本。对于从 v.4.1RC1 更新到 5.1.1,Gradle 项目提供了一个指南 (1, 2),其中包含次要版本之间的重大更改和弃用的功能,以便您可以逐步更新到最新版本。
或者,如果出于某种原因您不能或不想升级您的 Gradle 构建脚本,您可以随时选择将您的 Java 版本降级到 Gradle 4.1RC1支持运行 on.
[*] 作为 ,使用 gradle wrapper --gradle-version=5.1.1
(而不是 ./gradlew
,因为我最初错误地发布在那里)。原因是 Gradle 在 Java 上运行。您可以使用任何可用的 Gradle 发行版更新您的 gradle-wrapper,可以是系统范围内安装的 Gradle 或 gradle-wrapper 本身。但是,在这种情况下,您的包装器与您安装的 Java 版本不兼容,因此您必须使用系统范围的 Gradle(又名 gradle
而不是 ./gradlew
) .
由于 distributionUrl
仍然指向旧版本,升级包装器使用:
gradle wrapper --gradle-version 5.1.1
注意:使用 gradle
而不是 gradlew
在我的例子中,JAVA_HOME
变量设置为 /usr/lib/jvm/jdk-11.0.2/
。像这样取消设置变量就足够了:
$ export JAVA_HOME=
我遇到了同样的问题。升级到 gradle 5.0 对我有用。
This link 提供了有关如何安装 gradle 5.0
的详细步骤
我运行遇到了类似的问题。我删除了这些:
- .idea 文件夹中的库和缓存 ( YourApp > .idea > ..) 和
构建文件夹的内容。
然后重建。
* 不要忘记先备份您的项目 *
因为你的封装版本不支持11+你可以make simple trick to cheat newer version of InteliJ forever.
press3x Shift -> type "Switch Boot JDK" -> and change for java 8.
或者如果您想使用 java 11+,您只需将包装器版本更新为 4.8+
我 运行 在 Ubuntu 18.04.3 LTS 中遇到了同样的问题。就我而言,apt 安装了 gradle 版本 4.4.1。已经安装的 java 版本是 11.0.4
我收到的构建消息是
Could not determine java version from '11.0.4'.
当时,大多数在线文档都引用了 gradle 5.6 版,所以我做了以下操作:
sudo add-apt-repository ppa:cwchien/gradle
sudo apt update
sudo apt upgrade gradle
然后我重复了项目初始化(使用 gradle init
和默认值)。之后,./gradlew build
正常工作。
我后来读到一条关于 java --version
的输出格式更改导致 gradle 中断的评论,该评论在 gradle 的更高版本中得到修复。
长话短说,请使用系统 gradle
工具升级您的 gradlew
。请注意,即使您的系统 gradle
版本为 < 5
.
,以下升级也能正常工作
gradle wrapper --gradle-version=5.1.1
就我而言,我试图为一个旧的 Unity 3D 项目构建并获取 APK(这样我就可以在我的 Android phone 中玩游戏)。我使用的是最新的 Android Studio 版本,以及我可以通过 Android Studio 中的 SDK 管理器下载的所有 SDK 包。 SDK 包位于
C:/Users/Onat/AppData/Local/Android/Sdk
除了 JDK (Java Development Kit) 版本“jdk-12.0.2”,我得到的错误信息是一样的。 JDK 位于
C:\Program Files\Java\jdk-12.0.2
Windows 中的环境变量是 JAVA_HOME
: C:\Program Files\Java\jdk-12.0.2
研究了3个小时,发现Unity不支持JDK10、as told here。我的建议是:
- Uninstall unwanted JDK 如果您已经安装了一个。
- Head here
- 登录 to/Open Oracle 帐户(如果尚未登录)。
- 为您的计算机设置下载较旧但可用的 JDK8(32 bit/64 位,Windows/Linux 等)
- Install the JDK。记住安装路径。
- 如果您使用的是 Windows,请打开环境变量并通过右键单击我的
Computer/This PC>Properties>Advanced System Settings>Environment Variables>New>Variable Name: JAVA_HOME>Variable Value: [YOUR JDK Path, Mine was "C:\Program Files\Java\jdk1.8.0_221"]
更改 Java 路径
- 在 Unity 3D 中,按
Edit > Preferences > External Tools and fill in the JDK path (Mine was "C:\Program Files\Java\jdk1.8.0_221")
。
- 此外,在同一个弹出窗口中,编辑 SDK 路径。 (从
Android Studio > SDK Manager > Android SDK > Android SDK Location
获取。)
- 如果需要,请重新启动计算机以使更改生效。
我遇到了类似的问题:我的默认 gradle wrapper
版本是 4.x,而 Java 的更高版本的支持已添加到 Gradle 5.
我已经按照此处所述更新了我的 gradlew
:https://docs.gradle.org/current/userguide/gradle_wrapper.html#sec:upgrading_wrapper
TLTD:
./gradlew wrapper --gradle-version 5.6.2
我通过单击文件 -> 项目结构解决了这个问题,然后将 JDK 位置更改为使用嵌入式 JDK(推荐)
进入项目文件..
gradle/wrapper/gradlewrapper.properties
您可以在那里将 distributionurl
的值更改为最新版本。 (发现于 docs.gradle.org)
我在这里遇到了同样的问题。
在我的例子中,我需要使用旧版本的 JDK 并且我正在使用 sdkmanager 来管理 JDK 的版本,因此,我将虚拟机的版本更改为 1.8。
sdk use java 8.0.222.j9-adpt
之后,应用程序按预期运行。
tl;dr:将 java 降级 运行 update-alternatives
我的系统 gradle 版本是 4.4.1,gradle 包装器版本是 4.0。在运行之后其他几个答案给出的命令:
gradle wrapper --gradle-version 4.4.1
我仍然有同样的错误:
FAILURE: Build failed with an exception.
* What went wrong:
Could not determine java version from '11.0.4'.
事实证明 java 11 在 gradle 4.8 之前不受支持,而我的软件存储库只有 4.4.1。 (此外,升级到较新的 gradle 版本可能与我尝试编译的包不兼容。)
答案是降级java。我的系统实际上已经安装了 java8,并且很容易通过 运行 这个命令并按照说明在 java 版本之间切换:
sudo update-alternatives --config java
使用以下版本更新 gradle/wrapper/gradle-wrapper.properties
为我修复了它:
distributionUrl=https\://services.gradle.org/distributions/gradle-5.4.1-all.zip
我在 Docker 设置中遇到了同样的问题,同时我试图用 JDL 11.0.7
安装 Gradle-2.4
。我必须安装 later version 来解决这个问题。
这是工作Docker文件
FROM openjdk:11.0.7-jdk
RUN apt-get update && apt-get install -y unzip
WORKDIR /gradle
RUN curl -L https://services.gradle.org/distributions/gradle-6.5.1-bin.zip -o gradle-6.5.1-bin.zip
RUN unzip gradle-6.5.1-bin.zip
ENV GRADLE_HOME=/gradle/gradle-6.5.1
ENV PATH=$PATH:$GRADLE_HOME/bin
RUN gradle --version
执行 cordova build android --release
时出现此错误
在尝试了这么多不同的事情之后,我解决了这个问题,方法是:
npm install cordova -g # to upgrade to version 10.0.0
cordova platform rm android
cordova platform add android # to upgrade to android version 9.0.0
快速而肮脏的测试最简单的方法是使用覆盖,例如:
> JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_162.jdk/Contents/Home/ ./gradlew build
因为包装器会检查 JAVA_HOME
,所以您可以在每个 运行.
上选择任何您想要的
我在 Windows 和 redhat java-11 版本中遇到了类似的问题,编辑了 gradle-wrapper.properties 并更新了 distributionUrl 如下 gradle-6.5.1-bin.zip
它对我有用。
distributionUrl=https\://services.gradle.org/distributions/gradle-6.5.1-bin.zip
我在 Windows 中遇到了同样的问题。我的 gradle 配置是设置使用 JDK1.8,但是 JAVA_HOME 配置为使用另一个 JDK.
解法:
根据您在 gradle
中配置的 JDK 正确设置 JAVA_HOME
如果你有 android studio 版本 4.2.2,它会默认启动 Java 11.0.8
检查你的版本Android Studio -> About Android Studio
将 11.0.8 更改为 JDK 8
1- 安装 JDK8
2- 安装 Choose Runtime plugin
3- 打开操作选项卡:Command + Shift + A ⇧⌘A
4- 选择运行时和 select jdk 列表中的 8
您可能错过了安装maven 请安装maven 然后检查。它会在 ....
之后工作
正如其他人提到的,Java 11 支持已添加到 Gradle 5。解决方案是升级您的 Gradle 包装器:
到这里算出Gradle的最新版本:https://gradle.org/releases/
升级 Gradle 包装器
如果您的计算机上安装了 Gradle:
gradle wrapper --gradle-version 7.2
如果您没有安装 Gradle:
修改gradle/wrapper/gradle-wrapper.properties
用 Gradle 的最新版本更新 distributionUrl
,例如
distributionUrl=https\://services.gradle.org/distributions/gradle-7.2-bin.zip
升级剩余的包装文件(gradle-wrapper.jar,gradlew,gradlew.bat)
./gradlew wrapper --gradle-version 7.2
由于您是从旧版本 Gradle 升级,您可能会遇到如下错误:
Could not find method compile() for arguments ...
Could not find method testCompile() for arguments ...
要解决这些问题,请编辑 build.gradle 并将 compile
的每个实例替换为 implementation
并将 testCompile
替换为 testImplementation
。
前往android/gradle/wrapper/gradle-wrapper.properties
并使用最新的gradle 版本更新distributionUrl
。
前往 https://gradle.org/releases/ 获取最新版本,然后在此处进行编辑。
https\://services.gradle.org/distributions/gradle-7.3.3-all.zip
7.3.3
为最新版本。
https\://services.gradle.org/distributions/gradle-#latest_gradle-version#-all.zip
导航到 Project/gradle/wrapper/gradle-wrapper.properties
并手动将 distributionUrl 更改为 distributionUrl=https\://services.gradle.org/distributions/gradle-5.1.1-bin.zip
并且成功了希望这对某人有帮助。
只需转到您的“项目 folder/gradle/gradle-wrapper.properties”,并在提到您的 gradle 版本的 distibutionUrl 中,检查来自 here 的新更新 gradle 版本并更改它在“distributionUrl”中并完成!
我运行以下评论:
./gradlew app:installDebug
仅会见日志:
FAILURE: Build failed with an exception.
* What went wrong:
Could not determine java version from '11.0.2'.
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
* Get more help at https://help.gradle.org
我的gradle版本是5.1.1:
------------------------------------------------------------
Gradle 5.1.1
------------------------------------------------------------
Build time: 2019-01-10 23:05:02 UTC
Revision: 3c9abb645fb83932c44e8610642393ad62116807
Kotlin DSL: 1.1.1
Kotlin: 1.3.11
Groovy: 2.5.4
Ant: Apache Ant(TM) version 1.9.13 compiled on July 10 2018
JVM: 11.0.2 (Oracle Corporation 11.0.2+9-LTS)
OS: Mac OS X 10.13.6 x86_64
我不确定如何继续(我试过 upgrading/downgrading,但到目前为止没有任何效果)。
更新: 当我 运行 ./gradlew --version
时,我得到以下信息:
FAILURE: Build failed with an exception.
* What went wrong:
Could not determine java version from '11.0.2'.
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
* Get more help at https://help.gradle.org
我的 .../gradle/wrapper/gradle-wrapper.properties
包含以下内容,包括 distributionUrl=.../gradle-4.1-rc-1-all.zip
:
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-rc-1-all.zip
您的系统中有两个不同的 Gradle 应用程序。
全系统Gradle
调用
此应用程序由gradle (arguments)
.gradle-wrapper
gradle-wrapper 特定于每个项目,只能在项目目录中调用,使用命令./gradlew (arguments)
.
您的系统范围 gradle 版本是 5.1.1(正如 OP 在评论中解释的那样,运行 命令 gradle --version
返回版本 5.1.1)。
但是,失败是调用 gradle-wrapper (./gradlew
) 的结果。你能检查一下你的项目的 gradle 包装器版本吗?为此,请在项目文件夹内执行 ./gradlew --version
,在 gradlew 和 gradlew.bat 文件所在的目录中。
更新 1:
由于 运行 ./gradlew --version
失败,您可以通过打开文件手动检查包装器的版本:
(project's root folder)/gradle/wrapper/gradle-wrapper.properties
使用简单的文本编辑器。里面的“distributionUrl”应该告诉我们包装器的版本是什么。
更新二:
根据 OP 的更新问题,gradle-wrapper 的版本是 4.1RC1.
Gradle added support for JDK 11 in Gradle 5.0。因此,由于 4.1RC 在 JDK 11 上不支持 运行,这绝对是个问题。
显而易见的方法是将项目的 gradle-wrapper 更新到版本 5.0。
但是,在更新之前,请尝试 运行 gradle app:installDebug
。这将使用您系统范围内安装的 Gradle,其版本为 5.1.1 并在 Java 11 上支持 运行。如果这有效,那么您的构建脚本(文件 build.gradle)是不受 v.4.1RC1 和 v.5.1.1 之间的任何重大更改的影响,然后您可以通过从项目文件夹内的命令行执行来更新包装器:gradle wrapper --gradle-version=5.1.1
[*].
如果 gradle app:installDebug
无法正确执行,那么您可能需要升级 Gradle 构建脚本。对于从 v.4.1RC1 更新到 5.1.1,Gradle 项目提供了一个指南 (1, 2),其中包含次要版本之间的重大更改和弃用的功能,以便您可以逐步更新到最新版本。
或者,如果出于某种原因您不能或不想升级您的 Gradle 构建脚本,您可以随时选择将您的 Java 版本降级到 Gradle 4.1RC1支持运行 on.
[*] 作为 gradle wrapper --gradle-version=5.1.1
(而不是 ./gradlew
,因为我最初错误地发布在那里)。原因是 Gradle 在 Java 上运行。您可以使用任何可用的 Gradle 发行版更新您的 gradle-wrapper,可以是系统范围内安装的 Gradle 或 gradle-wrapper 本身。但是,在这种情况下,您的包装器与您安装的 Java 版本不兼容,因此您必须使用系统范围的 Gradle(又名 gradle
而不是 ./gradlew
) .
由于 distributionUrl
仍然指向旧版本,升级包装器使用:
gradle wrapper --gradle-version 5.1.1
注意:使用 gradle
而不是 gradlew
在我的例子中,JAVA_HOME
变量设置为 /usr/lib/jvm/jdk-11.0.2/
。像这样取消设置变量就足够了:
$ export JAVA_HOME=
我遇到了同样的问题。升级到 gradle 5.0 对我有用。
This link 提供了有关如何安装 gradle 5.0
的详细步骤我运行遇到了类似的问题。我删除了这些:
- .idea 文件夹中的库和缓存 ( YourApp > .idea > ..) 和
构建文件夹的内容。
然后重建。
* 不要忘记先备份您的项目 *
因为你的封装版本不支持11+你可以make simple trick to cheat newer version of InteliJ forever.
press3x Shift -> type "Switch Boot JDK" -> and change for java 8.
或者如果您想使用 java 11+,您只需将包装器版本更新为 4.8+
我 运行 在 Ubuntu 18.04.3 LTS 中遇到了同样的问题。就我而言,apt 安装了 gradle 版本 4.4.1。已经安装的 java 版本是 11.0.4
我收到的构建消息是
Could not determine java version from '11.0.4'.
当时,大多数在线文档都引用了 gradle 5.6 版,所以我做了以下操作:
sudo add-apt-repository ppa:cwchien/gradle
sudo apt update
sudo apt upgrade gradle
然后我重复了项目初始化(使用 gradle init
和默认值)。之后,./gradlew build
正常工作。
我后来读到一条关于 java --version
的输出格式更改导致 gradle 中断的评论,该评论在 gradle 的更高版本中得到修复。
长话短说,请使用系统 gradle
工具升级您的 gradlew
。请注意,即使您的系统 gradle
版本为 < 5
.
gradle wrapper --gradle-version=5.1.1
就我而言,我试图为一个旧的 Unity 3D 项目构建并获取 APK(这样我就可以在我的 Android phone 中玩游戏)。我使用的是最新的 Android Studio 版本,以及我可以通过 Android Studio 中的 SDK 管理器下载的所有 SDK 包。 SDK 包位于
C:/Users/Onat/AppData/Local/Android/Sdk
除了 JDK (Java Development Kit) 版本“jdk-12.0.2”,我得到的错误信息是一样的。 JDK 位于
C:\Program Files\Java\jdk-12.0.2
Windows 中的环境变量是 JAVA_HOME
: C:\Program Files\Java\jdk-12.0.2
研究了3个小时,发现Unity不支持JDK10、as told here。我的建议是:
- Uninstall unwanted JDK 如果您已经安装了一个。
- Head here
- 登录 to/Open Oracle 帐户(如果尚未登录)。
- 为您的计算机设置下载较旧但可用的 JDK8(32 bit/64 位,Windows/Linux 等)
- Install the JDK。记住安装路径。
- 如果您使用的是 Windows,请打开环境变量并通过右键单击我的
Computer/This PC>Properties>Advanced System Settings>Environment Variables>New>Variable Name: JAVA_HOME>Variable Value: [YOUR JDK Path, Mine was "C:\Program Files\Java\jdk1.8.0_221"]
更改 Java 路径
- 在 Unity 3D 中,按
Edit > Preferences > External Tools and fill in the JDK path (Mine was "C:\Program Files\Java\jdk1.8.0_221")
。 - 此外,在同一个弹出窗口中,编辑 SDK 路径。 (从
Android Studio > SDK Manager > Android SDK > Android SDK Location
获取。) - 如果需要,请重新启动计算机以使更改生效。
我遇到了类似的问题:我的默认 gradle wrapper
版本是 4.x,而 Java 的更高版本的支持已添加到 Gradle 5.
我已经按照此处所述更新了我的 gradlew
:https://docs.gradle.org/current/userguide/gradle_wrapper.html#sec:upgrading_wrapper
TLTD:
./gradlew wrapper --gradle-version 5.6.2
我通过单击文件 -> 项目结构解决了这个问题,然后将 JDK 位置更改为使用嵌入式 JDK(推荐)
进入项目文件..
gradle/wrapper/gradlewrapper.properties
您可以在那里将 distributionurl
的值更改为最新版本。 (发现于 docs.gradle.org)
我在这里遇到了同样的问题。 在我的例子中,我需要使用旧版本的 JDK 并且我正在使用 sdkmanager 来管理 JDK 的版本,因此,我将虚拟机的版本更改为 1.8。
sdk use java 8.0.222.j9-adpt
之后,应用程序按预期运行。
tl;dr:将 java 降级 运行 update-alternatives
我的系统 gradle 版本是 4.4.1,gradle 包装器版本是 4.0。在运行之后其他几个答案给出的命令:
gradle wrapper --gradle-version 4.4.1
我仍然有同样的错误:
FAILURE: Build failed with an exception.
* What went wrong:
Could not determine java version from '11.0.4'.
事实证明 java 11 在 gradle 4.8 之前不受支持,而我的软件存储库只有 4.4.1。 (此外,升级到较新的 gradle 版本可能与我尝试编译的包不兼容。)
答案是降级java。我的系统实际上已经安装了 java8,并且很容易通过 运行 这个命令并按照说明在 java 版本之间切换:
sudo update-alternatives --config java
使用以下版本更新 gradle/wrapper/gradle-wrapper.properties
为我修复了它:
distributionUrl=https\://services.gradle.org/distributions/gradle-5.4.1-all.zip
我在 Docker 设置中遇到了同样的问题,同时我试图用 JDL 11.0.7
安装 Gradle-2.4
。我必须安装 later version 来解决这个问题。
这是工作Docker文件
FROM openjdk:11.0.7-jdk
RUN apt-get update && apt-get install -y unzip
WORKDIR /gradle
RUN curl -L https://services.gradle.org/distributions/gradle-6.5.1-bin.zip -o gradle-6.5.1-bin.zip
RUN unzip gradle-6.5.1-bin.zip
ENV GRADLE_HOME=/gradle/gradle-6.5.1
ENV PATH=$PATH:$GRADLE_HOME/bin
RUN gradle --version
执行 cordova build android --release
时出现此错误
在尝试了这么多不同的事情之后,我解决了这个问题,方法是:
npm install cordova -g # to upgrade to version 10.0.0
cordova platform rm android
cordova platform add android # to upgrade to android version 9.0.0
快速而肮脏的测试最简单的方法是使用覆盖,例如:
> JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_162.jdk/Contents/Home/ ./gradlew build
因为包装器会检查 JAVA_HOME
,所以您可以在每个 运行.
我在 Windows 和 redhat java-11 版本中遇到了类似的问题,编辑了 gradle-wrapper.properties 并更新了 distributionUrl 如下 gradle-6.5.1-bin.zip 它对我有用。
distributionUrl=https\://services.gradle.org/distributions/gradle-6.5.1-bin.zip
我在 Windows 中遇到了同样的问题。我的 gradle 配置是设置使用 JDK1.8,但是 JAVA_HOME 配置为使用另一个 JDK.
解法:
根据您在 gradle
中配置的 JDK 正确设置 JAVA_HOME如果你有 android studio 版本 4.2.2,它会默认启动 Java 11.0.8
检查你的版本Android Studio -> About Android Studio
将 11.0.8 更改为 JDK 8
1- 安装 JDK8
2- 安装 Choose Runtime plugin
3- 打开操作选项卡:Command + Shift + A ⇧⌘A
4- 选择运行时和 select jdk 列表中的 8
您可能错过了安装maven 请安装maven 然后检查。它会在 ....
之后工作正如其他人提到的,Java 11 支持已添加到 Gradle 5。解决方案是升级您的 Gradle 包装器:
到这里算出Gradle的最新版本:https://gradle.org/releases/
升级 Gradle 包装器
如果您的计算机上安装了 Gradle:
gradle wrapper --gradle-version 7.2
如果您没有安装 Gradle:
修改gradle/wrapper/gradle-wrapper.properties
用 Gradle 的最新版本更新
distributionUrl
,例如distributionUrl=https\://services.gradle.org/distributions/gradle-7.2-bin.zip
升级剩余的包装文件(gradle-wrapper.jar,gradlew,gradlew.bat)
./gradlew wrapper --gradle-version 7.2
由于您是从旧版本 Gradle 升级,您可能会遇到如下错误:
Could not find method compile() for arguments ...
Could not find method testCompile() for arguments ...
要解决这些问题,请编辑 build.gradle 并将 compile
的每个实例替换为 implementation
并将 testCompile
替换为 testImplementation
。
前往android/gradle/wrapper/gradle-wrapper.properties
并使用最新的gradle 版本更新distributionUrl
。
前往 https://gradle.org/releases/ 获取最新版本,然后在此处进行编辑。
https\://services.gradle.org/distributions/gradle-7.3.3-all.zip
7.3.3
为最新版本。
https\://services.gradle.org/distributions/gradle-#latest_gradle-version#-all.zip
导航到 Project/gradle/wrapper/gradle-wrapper.properties
并手动将 distributionUrl 更改为 distributionUrl=https\://services.gradle.org/distributions/gradle-5.1.1-bin.zip
并且成功了希望这对某人有帮助。
只需转到您的“项目 folder/gradle/gradle-wrapper.properties”,并在提到您的 gradle 版本的 distibutionUrl 中,检查来自 here 的新更新 gradle 版本并更改它在“distributionUrl”中并完成!