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

新建完一个新的工程之后,发现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博客

参考链接

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: