如何解决Android Gradle 插件需要 Java 11 才能运行您当前使用的是 Java 1.8
我下载了最新的 Android Studio,我想运行 Android Jetpack Compose 项目,但是当我运行时,出现错误:
n
我已经下载了 Java 11,并在 gradle.properties 中添加了 java 11。
>>> num = 104
>>> factors = factorization(num)
>>> print(f"The prime factors of {num} are {factors}")
The prime factors of 104 are [2,2,13]
>>> print(f"The prime factors of {num} are {','.join(factors)}")
The prime factors of 104 are 2,13
JAVA_HOME 显示 Java 11,但我运行,它不起作用,
> Failed to apply plugin 'com.android.internal.application'.
> Android Gradle plugin requires Java 11 to run. You are currently using Java 1.8.
You can try some of the following options:
- changing the IDE settings.
- changing the JAVA_HOME environment variable.
- changing `org.gradle.java.home` in `gradle.properties`.
我该怎么办?
我的 Java 版本
org.gradle.java.home=/Library/Java/JavaVirtualMachines/jdk-11.0.10.jdk/Contents/Home
我的 gradle-wrapper.properties
/Library/Java/JavaVirtualMachines/jdk-11.0.10.jdk/Contents/Home
build.gradle 类路径
java 11.0.10 2021-01-19 LTS
Java(TM) SE Runtime Environment 18.9 (build 11.0.10+8-LTS-162)
Java HotSpot(TM) 64-Bit Server VM 18.9 (build 11.0.10+8-LTS-162,mixed mode)
build.gradle
distributionUrl=https\://services.gradle.org/distributions/gradle-6.8.2-bin.zip
解决方法
确保您的 gradle
使用正确的 JDK。
尝试在您的项目目录中运行 ./gradlew --version
,输出应该是这样的:
Gradle 7.0-rc-2
------------------------------------------------------------
Build time: 2021-04-01 21:26:39 UTC
Revision: 912a3368b654b71250dfc925a20d620393
Kotlin: 1.4.31
Groovy: 3.0.7
Ant: Apache Ant(TM) version 1.10.9 compiled on September 27 2020
JVM: 11.0.10 (Ubuntu 11.0.10+9-Ubuntu-0ubuntu1.20.10)
OS: Linux 5.11.4-051104-generic amd64
如果 JVM 指向 1.8 版,那么您应该在设置中更改它。您可以在 Build,Execution,Deployment > Build Tools > Gradle > Gradle JDK
在 Arctic Fox build 的终端中启动 gradlew ktlintFormat
时出现此错误。
- 我打开了项目结构(文件 > 项目结构)并选择了 Java 11,但即使在重新启动 Android Studio 后也没有帮助。
-
然后我在“设置”中更改了 Java 路径(请参阅已接受的答案),但没有帮助。你应该设置它。
-
我尝试更改 Windows 系统变量并更改了
JAVA_HOME
。
(A short way:以管理权限运行 cmd
并写入:setx /M JAVA_HOME "C:\Program Files\Java\jdk-11.0.11"
,然后重新启动 Android Studio)
按Win+X,按“系统”,输入“va”。
我按下了“编辑”按钮和“浏览目录...”,然后选择了 Java 11 的 JRE(或 JDK)文件夹(没有 bin
)。然后 OK,OK(一如既往)。
- 我打开
cmd
(Windows 中的命令行)并输入:%JAVA_HOME%
。它给我写了这个错误:
'C:\Program' 不被识别为内部或外部命令, 可运行的程序或批处理文件。
查看 https://confluence.atlassian.com/doc/setting-the-java_home-variable-in-windows-8895.html 我发现我们应该用 Program Files
替换 Progra~1
(是的,这个 DOS 技巧仍然有效)。因此,如下图所示再次替换 JAVA_HOME。
- 重新启动 Android Studio 或重置计算机。
当我在需要 JAVA 11 的 android studio 中更新依赖项时出现此错误。您只需按照以下步骤操作即可。
(1) 下载JAVA 11,mac下载dmg,windows下载zip文件。 链接:Download JAVA 11
(按照步骤选择你新保存的JAVA Sdk)
,我第一次尝试运行 benchamrking samples 时遇到了类似的问题。
运行示例的指令是执行
./gradlew macrobenchmark:cC
在 IDE 终端中,但在我的情况下,这导致了相同的错误。
我已经尝试了上面 M Tomczyński 接受的答案,但这对我不起作用。我相信这是由于我现有的 JAVA_HOME
配置(可以在 here 中找到)。
这也意味着更改我的 JAVA_HOME
配置的选项 2 不是一个选项。
对我有用的更改是上述建议中的选项 3。我从上面的答案中检查了 Java 11 的路径并将其添加到 gradle.properties
中,然后根据 IDE 提示同步 gradle,并成功重新运行了 macrobenchamark gradle 命令。
org.gradle.java.home=/Applications/Android Studio Preview.app/Contents/jre/Contents/Home
你可以用这个简单的方法解决它。
-
转到https://www.oracle.com/java/technologies/javase-jdk16-downloads.html
-
下载系统的 jdk zipfile。 (比如说窗户)
-
解压到你电脑主目录下任意高权限文件夹
-
现在打开并转到位于 File > Project structure
的 Android Studio 项目结构
对我来说,就像确保我使用位于 [Android Studio 安装路径]/jre 中的 Gradle JDK 一样简单。试试吧,也许对你也有用
,仅在 Mac 上将 JAVA_HOME 设置为 JDK 11 嵌入到 Android Studio 中有所帮助。
我在命令行中使用以下命令执行此操作:export JAVA_HOME=ENTER_PATH_TO_JDK_HERE
。
PATH_TO_JDK
可能类似于 /Users/userName/Library/Application\ Support/JetBrains/Toolbox/apps/AndroidStudio/ch-0/203.7583922/Android\ Studio.app/Contents/jre/Contents/Home
新版本 Gradle 版本需要 Java 11。您需要下载 Java 11 并更新到 gradle。
如果 JVM 指向版本 1.8,那么您应该在设置中更改它。
对于 Ubuntu 和 Windows -> 文件-> 设置-> 构建、执行、部署-> 构建工具-> Gradle-> Gradle JDK。 请检查下图
Mac ->Preferences > Build->Execution,Deployment -> Build Tools -> Gradle -> Gradle JDK
它非常适合我。快乐编码
,我得出结论,Gradle 调用系统上安装的 Java 版本,而不管 Android Studio 设置如何。
在 macOS 上,使用以下命令检查系统中已安装 Java 版本的列表:
/usr/libexec/java_home -V
如果其中没有java 11或更高版本,你会得到类似问题作者的错误。
解决方案是安装 Java 11 或更高版本。
第二种解决方案是使用以下命令在文件夹 ~/Library/Java/JavaVirtualMachines/
中创建指向嵌入在 Android Studio 中的 JRE 的符号链接:
ln -s "/Applications/Android Studio.app/Contents/jre" "~/Library/Java/JavaVirtualMachines/Android Studio Default JRE"
此外,您可以将此行添加到 ~/.zshenv
:
export JAVA_HOME=/usr/libexec/java_home
如果需要,您可以获取不同 Java 版本的安装路径:
/usr/libexec/java_home -v 11
或
/usr/libexec/java_home -v 1.8
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。