解决 Android Gradle plugin requires Java 11 to run. You are currently using Java 1.8

Posted 刘楼主

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了解决 Android Gradle plugin requires Java 11 to run. You are currently using Java 1.8相关的知识,希望对你有一定的参考价值。

最近稍微有点空,就新建了一个工程打算捣鼓点新的东西。

新建完一个新的工程之后,发现assembleRelease,包括编译都报错了,具体报错的信息如下


* What went wrong:
An exception occurred applying plugin request [id: 'com.android.application']
> 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`.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

看了一下大概的意思是新建工程的build.gradle里面的groovy依赖的是java11版本,而自己电脑上面应该用的还是java8,所以导致了工程无法编译。T.T

这可咋整,虽然可以改动build.gradle里面的内容来解决这个问题,但是每次都这么搞也太繁琐了。

同时也不能直接把java8直接升上去吧。如果升上去的话,可能公司里面的项目无法编译通过了,那就更加得不偿失了。。。遂百度查找解决方式。

搜到比较多的解决方式是这个改动

Android Gradle plugin requires Java 11 to run. You are currently using Java 1.8._LMF·的博客-CSDN博客但试了一下,无论怎么改,我这边继续编译的话,还是有这个问题。放弃百度,google了一下,也没有找到特别好的解决方法。

冷静了一下,仔细看了一下AS推荐的解决的方式

   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`.

上面这篇博文使用的是 - changing the IDE settings 这个方法来解决这个问题,既然不行,我们看一下后面的两个方法

changing the JAVA_HOME environment variable. 意思是要改变我们的开发环境的javahome,百度了一下看上去有点麻烦,而且感觉可能会影响到现有的工程。

那么只有最后一个解决的方法了

changing `org.gradle.java.home` in `gradle.properties`.

------------------------------------------------------------

接下来是这个问题在我的电脑上面的正解。

------------------------------------------------------------

首先,由于我们本地没有java11的环境,所以我们需要下载一个java11的jdk(jdk地址https://repo.huaweicloud.com/java/jdk/11.0.2+9/jdk-11.0.2_osx-x64_bin.dmg

jdk安装的时候,一直点next的就行,由于我们对java11只是部分项目级别的依赖,所以我们没有必要进行java11的javahome配置。安装完成之后可以看到我们的

/Library/Java/JavaVirtualMachines 路径下多了一个jdk11的版本

 然后我们只需要在工程的 gradle.properties 中添加一个参数即可,比如我这里应该是

org.gradle.java.home=/Library/Java/JavaVirtualMachines/jdk-11.0.2.jdk/Contents/Home

JavaVirtualMachines后面应该是你下载的版本。添加完成之后,同步一下工程,在试一下,编译通过了~

 

这个是针对mac电脑的,不过应该在window电脑也能通用。

参考:

Mac下安装JDK11(国内镜像)_阿甘兄的技术博客_51CTO博客

Android Gradle plugin requires Java 11 to run. You are currently using Java 1.8._LMF·的博客-CSDN博客

Android-Version Compatibility Issues (Gradle 2.14.1 requires Android Gradle plugin 2.1.3 (or))

 

当AndroidStudio加载工程Project的时候,出现以上错误❌,千万不要点击,否则就是更多其他的错误;

 

解决方案:

  1.认真翻译错误:

  

 

  2.分析问题发生的原因,然后看到了 .....Gradle plugin 2.1.3 (or newer)...... 

  

 

  3.在最外层的build.gradle 查看/修改代码:

    ---> 

  修改成 2.1.3, 然后点击Sync Now ,问题解决了:

  

 

 

成功解决:可以安装了:

 

以上是关于解决 Android Gradle plugin requires Java 11 to run. You are currently using Java 1.8的主要内容,如果未能解决你的问题,请参考以下文章

Android-Version Compatibility Issues (Gradle 2.14.1 requires Android Gradle plugin 2.1.3 (or))

Gradle plugin 3.0 & Android Studio 3.0

解决 Android Gradle plugin requires Java 11 to run. You are currently using Java 1.8

18. 优雅解决The android gradle plugin version 3.0.0-alpha1 is too old, update to the latest version

Android: Gradle Plugin 实现编译过程中 MainDex 文件的方法数打印

gradle/gradle plugin/Android studio关系