通过设置JDK解决存在多个Gradle后台进程的问题

2023-05-16

使用Android Studio经常会在Event Log窗口遇到如下报错:

 

简单解释下就是如果后台有一个常驻的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: Gradle 6.3 Release Notes

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

通过设置JDK解决存在多个Gradle后台进程的问题 的相关文章

随机推荐