尝试使用嵌入式JDK而不是自定义安装时,Android Studio显示错误

问题描述 投票:8回答:5

在我更新到Android Studio 2.3之后,我无法使用嵌入式JDK。当我尝试构建项目时,我得到这样的错误:

Error:The newly created daemon process has a different context than expected.
Java home is different.
Expecting: 'D:\Development\IDE\AndroidStudio\jre' but was: 'C:\Program Files\Java\jre1.8.0_121'.
Please configure the JDK to match the expected one.
<a href="open.project.structure">Open JDK Settings</a>

但是没有定义JAVA_HOME环境变量(但我仍然可以使用正常的JDK而没有问题,所以这很好)。那么Android Studio在哪里找到Java Home,从而阻止我使用嵌入式JDK?

那么如何使用嵌入式JDK解决问题呢?我甚至卸载了JDK以使其工作,我更新了java(导致它指向jre)。重新安装JDK,当我指向它时,它工作正常。但我想使用嵌入式JDK。有任何想法吗?

我已经尝试在gradle.properties中设置java home(在注释中链接)但它仍然显示错误。

gradle.properties正在(见突出显示的行)

enter image description here

这条线(应该可以工作,但不行)

org.gradle.java.home=D:/Development/IDE/AndroidStudio/jre

它应该使嵌入式JDK工作(并在IDE中更改java home),但事实并非如此。它仍会导致相同的错误(如本文顶部所示)关于错误

在片段中它表示jre,那是因为当我复制它时,我刚刚卸载了JDK。更新JDK和Java导致java_home被设置为JDK位置,但未将其定义为环境变量。我尝试删除jdk表(在android studio配置文件夹中),但它不起作用。

当我将JDK设置为嵌入式时它的外观如何:

enter image description here

JDK版本

在评论中建议我设置JDK版本。从同一注释中的链接,定义JDK版本是指JDK处于活动状态。意思是,对于此问题,设置JDK版本将不起作用

android-studio android-studio-2.3
5个回答
3
投票

尝试重置更新的JDK的路径。并再次检查。可能它会帮助你。还清除你的android studio临时缓存和所有。


1
投票

我通过卸载所有jdk安装和更新来修复此问题,然后重新安装只有一个jdk并确保其env。变量

我没有解决方案,但我遇到了同样的问题,因为android工作室从java_home / jre打开,因此所有将在下一个分叉的JVM将来自此路径,而你的系统变量告诉Gradle从JAVA_HOME获取他的java.exe

我试图从jre读取gradle但是它也失败了我也尝试从java_home / bin打开android studio但它也失败了


1
投票

我有与嵌入式JDK完全相同的问题,在Android工作室版本2.2.3上工作,当我更新,然后每次工作室提示JRE未找到然后我在项目文件夹中添加系统JDK路径,现在整个Android工作室挂起,我切换回到Android studio 2.2.3。似乎Android studio 2.3.1发布了bug。


0
投票

看来,JDK版本有一些错过的匹配。

所以试试这个:首先卸载所有Jdk / jre和Android Studio。

清除临时/预取等

然后只需安装最新版本的Android studio。

请记住:不要安装任何其他JDK / jre并确保您的系统具有正确的Internet连接。所有丢失的文件都会自动下载。

我已经尝试过了,这对我有用。我希望它也适合你。


0
投票

我必须说AS在环境设置方面有太多麻烦。我们需要了解一些概念。

  1. AS默认java运行时环境本身,如下所示。

AS default java runtime environment itself.

  1. 系统有另一个Java_home,如下所示。

System's JDK version

然后问题即将到来,当系统的JDK版本与AS的JDK版本不匹配时会发生什么?

一世。

因为java.lang.UnsupportedClassVersionError

II。

gradle failure:认证......

III。还有一些我现在不记得的错误。

解决方案:如果您的AS更新到最新版本,则应将Gradle更新为最新版本,并确保系统的JDK与AS的JDK版本匹配。至少,你的idk版本更新到JDK1.8.0以上。完成所有这些操作后,尝试重新启动AS,如果有效,请尝试重新启动计算机。

额外:代理软件在Gradle同步时会有一些影响,如果有任何关于证书的提示,请尝试关闭代理软件并重试。

© www.soinside.com 2019 - 2024. All rights reserved.