通过设置JDK解决存在多个Gradle后台进程的问题
Posted 码上夏雨
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了通过设置JDK解决存在多个Gradle后台进程的问题相关的知识,希望对你有一定的参考价值。
使用android Studio经常会在Event Log窗口遇到如下报错:
21:42 Android Studio is using the following JDK location when running Gradle:
C:\\Program Files\\Android\\Android Studio\\jre
Using different JDK locations on different processes might cause Gradle to
spawn multiple daemons, for example, by executing Gradle tasks from a terminal
while using Android Studio.
More info...
Select a JDK from the File System
Do not show this warning again
可以通过如下指引了解详细信息:
简单解释下就是如果后台有一个常驻的gradle守护进程,可以提高我们构建效率。因为这样不但可以避免每次都重新启动JVM,并且可以缓存项目结构、文件、任务等信息。每次启动AS的时候,你可能会注意到如下这个提示,其实就是AS默认打开了gradle守护进程:
但是如果使用守护进程特性会有一个问题,就是可能会出现多个守护进程的场景,这是因为守护进程可能在某些方面无法满足请求构建环境。比如如果守护进程运行在Java 8运行时,但是请求的环境调用Java 10,那么守护进程是不兼容的,必须启动另一个。此外,Java运行时的某些属性在JVM启动后无法更改。这也可能导致出现多个守护进程。
为了避免出现这种情况,一个最好的解决方式时我们每次使用gradle进行项目构建时,尽量使用相同的JDK配置。如果我们在命令行中使用gradle,会自动使用JAVA_HOME环境变量指向的JDK,如果在AS中使用gradle,使用的是如下指向的JDK
所以为了两者一致,我们需要将此处的JDK改为JAVA_HOME环境变量指向的JDK。修改完之后AS的告警提示信息也自然消失了。
另外注意下从Gradle 6.3版本才开始正式支持JDK 14: https://docs.gradle.org/6.3/release-notes.html
以上是关于通过设置JDK解决存在多个Gradle后台进程的问题的主要内容,如果未能解决你的问题,请参考以下文章
Eclipse使用gradle编译时,设置java home,使用固定的jdk版本进行编译
Android ------ Invalid Gradle JDK configuration found. Open Gradle Settings Change JDK location
Android ------ Invalid Gradle JDK configuration found. Open Gradle Settings Change JDK location
Android ------ Invalid Gradle JDK configuration found. Open Gradle Settings Change JDK location