tim*_*109 53 java android intellij-idea android-studio
我想使用IntelliJ IDEA 15而不是Android Studio,但我在构建时遇到问题.我收到以下错误:
Gradle sync failed: The newly created daemon process has a different context than expected.
It won't be possible to reconnect to this daemon. Context mismatch:
Java home is different.
Wanted: DefaultDaemonContext[uid=null,javaHome=C:\Program Files (x86)\JetBrains\IntelliJ IDEA 15.0\jre,daemonRegistryDir=C:\Users\Tim\.gradle\daemon,pid=1224,idleTimeout=null,daemonOpts=-XX:MaxPermSize=256m,-XX:+HeapDumpOnOutOfMemoryError,-Xmx1024m,-Dfile.encoding=windows-1252,-Duser.country=DE,-Duser.language=de,-Duser.variant]
Actual: DefaultDaemonContext[uid=6fd89265-5686-4337-a75f-538209464d3a,javaHome=C:\Program Files\Java\jdk1.8.0_74,daemonRegistryDir=C:\Users\Tim\.gradle\daemon,pid=14128,idleTimeout=10800000,daemonOpts=-XX:MaxPermSize=256m,-XX:+HeapDumpOnOutOfMemoryError,-Xmx1024m,-Dfile.encoding=windows-1252,-Duser.country=DE,-Duser.language=de,-Duser.variant]
Run Code Online (Sandbox Code Playgroud)
我的错是什么?正如您在下面的图片中看到的,一切都配置正确.
我已经配置了JDK和Android Tools,如下所示:
Hug*_*ghG 80
我在调查类似的问题时发现了这个问题,我解决了我的问题,所以也许我的经验会有所帮助.
我的问题与你的问题类似,因为Wanted
上下文中包含javaHome
了嵌入在IDEA安装文件夹中的JRE的路径,并且Actual
上下文将它作为我路径上的第一个Java版本.我在网上发现了几个类似的错误报告,但没有一个IDEA嵌入了JRE作为Wanted
版本.
在Wanted
Java版本正好是一个全系统的安装JRE的,而不是我为项目配置的JDK,也不需要设置的值JAVA_HOME
,这让我十分可疑(和困惑).重新排序我的路径导致它使用另一个"不需要的"Java版本,所以它显然使用路径来选择运行什么,但不清楚为什么.我无法让IntelliJ的嵌入式JRE成为我的首选,因为出于各种原因我需要将它作为JDK,因此我需要另一种解决方案.
我也注意到(使用Process Explorer,因为我在Windows上),在失败的情况下,IntelliJ启动了许多java.exe
Gradle守护程序进程,并且在我尝试启动构建之前肯定没有运行守护程序进程.
原因是我在"运行/调试配置"对话框中定义了一个新配置,并将该build.gradle
文件的完整路径放在该Gradle project:
字段中,如下所示.(我通过单击字段右侧的省略号(...)按钮来完成此操作,但我也可以直接输入它.)
但是,我应该做的是按照现有配置中的模式Gradle project:
,通过单击字段右侧的"文件夹"图标将其指定为"已注册的项目",在下图中以绿色突出显示.在这种情况下,字段的内容只是项目名称,并以略微不同的背景/前景色显示.(我意外地发现右键单击此名称会将其替换为包含该文件夹的路径build.gradle
,但如果您取消并再次开始编辑配置,它仍将显示为项目名称.)
进行此更改后,配置按预期构建,我观察到只java.exe
启动了一个,使用与从UI中的"Gradle"面板运行任务时相同的JDK路径.
小智 28
gradle.properties
在文件夹中创建文件%USERPROFILE%\.gradle\
(~/.gradle/
在*nix机器上)org.gradle.java.home={actual path to jdk}
(在MacOS运行中知道它/usr/libexec/java_home
)对于 MacOSX,为我解决问题的是将 IntelliJ 中的 SDK 指向Contents/Home
. 例如:
这:
/Users//.sdkman/candidates/java/14.0.1-zulu/zulu-14.jdk/Contents/Home
而不是这个:
/Users//.sdkman/candidates/java/14.0.1-zulu
目前,它正在与最新的 Java (14.0.1-zulu)、Gradle (6.5) 和 Kotlin (1.4-M2) 配合使用。
归档时间: |
|
查看次数: |
24496 次 |
最近记录: |