且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

在我的`gradle build`上遇到`org.gradle.api.ProjectConfigurationException`错误

更新时间:2023-01-01 09:56:09

我能够解决这个问题从gradle守护程序读取输出日志,下面是帮助我修复它的相关行。

I was able to solve this issue by reading the output log from the gradle daemon and below is the relevant line that helped me fix it.


14:52:50.575 [INFO] [org.gradle.launcher.daemon.server.Daemon] start()在守护进程上调用
-
DefaultDaemonContext [uid = 03e55abd-dc5a-42c5-bc7f-fc25f6a78bcb,javaHome = / Library / Java / JavaVirtualMachines /jdk-9.0.4.jdk/Contents/Home,daemonRegistryDir=/Users/user_name/.gradle/daemon,pid=16809,idleTimeout=10800000,daemonOpts=-Xmx1536m,-Dfile.encoding=UTF-8,-Duser。 country = US,-Duser.language = en,-Duser.variant]

14:52:50.575 [INFO] [org.gradle.launcher.daemon.server.Daemon] start() called on daemon - DefaultDaemonContext[uid=03e55abd-dc5a-42c5-bc7f-fc25f6a78bcb,javaHome=/Library/Java/JavaVirtualMachines/jdk-9.0.4.jdk/Contents/Home,daemonRegistryDir=/Users/user_name/.gradle/daemon,pid=16809,idleTimeout=10800000,daemonOpts=-Xmx1536m,-Dfile.encoding=UTF-8,-Duser.country=US,-Duser.language=en,-Duser.variant]

所以,要点是gradle设置和Android Studio设置彼此独立工作。当在属性中未明确设置 org.gradle.java.home 时,Gradle在启动守护程序并进行构建时依赖于JAVA_HOME env var。

So, the gist is that the gradle settings and Android Studio settings work independent of each other. Gradle relies on the JAVA_HOME env var while starting up a daemon and making your build, when org.gradle.java.home isn't explicitly set in properties.

因此,当回滚到不同的JVM时,请确保将JAVA_HOME env var设置为该特定JVM(如果在所有应用程序中使用相同的JVM)或设置守护程序特定设置如下所示在项目级别可见的 gradle.properties 文件中:

Therefore, when rolling back to a different JVM, make sure to set the JAVA_HOME env var to that specific JVM (if you use the same JVM across all your applications) or set daemon specific setting like below in your gradle.properties file visible at the project level :

org.gradle.java.home=/Library/Java/JavaVirtualMachines/<jdk_version>/Contents/Home

请注意以上是我的路径,我使用的是Mac。在其他平台上可能会有所不同。