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

Android Studio shows an error when trying to use Embedded JDK instead of a custom install

更新到AndroidStudio 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 在哪里找到阻止我使用嵌入式 JDK 的 JAVA_HOME

我尝试卸载系统 JDK 以使其正常工作,并且我更新了 java,这导致它指向 JRE。然后我重新安装了 JDK,当我指向它时,它工作正常。但是我想使用内嵌的JDK。有什么想法吗?

我已经尝试在 gradle.properties 中设置 JAVA_HOME,如评论中所链接,但它仍然显示错误。

我添加的行是:

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

它应该使嵌入的 JDK 工作(并在 IDE 中更改 JAVA_HOME)但它没有。它仍然会导致此 post.

顶部提到的相同错误

在片段中它说 jre,那是因为当我复制它时,我刚刚卸载了 JDK。更新 JDK 和 Java 导致 JAVA_HOME 被设置为 JDK 位置,但它未定义为环境变量。我尝试删除 Android Studio 的配置文件夹中的 JDK table,但没有成功。

以及当我将 JDK 设置为嵌入式时的样子:

我通过卸载所有 jdk 安装和更新解决了这个问题,然后只重新安装一个 jdk 并确保其环境。变量

我没有解决方案,但我遇到了与 android 工作室从 java_home/jre 打开时发生的相同问题,因此接下来将分叉的所有 JVM 都将来自此路径,而您的系统变量告诉 Gradle 从 JAVA_HOME

得到他的 java.exe

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

尝试重置更新后的路径 JDK。并再次检查。也许它会对你有所帮助。同时清除您的 android 工作室临时缓存和所有内容。

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

看来,JDK版本有一些不匹配。

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

清除temp/prefetch等

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

记住:不要安装任何其他 JDK/jre 并确保您的系统有适当的互联网 connectivity.All 自动下载丢失的文件。

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

不得不说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:certification ...

三。还有一些其他错误我现在不记得了。

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

额外: 代理软件对Gradle同步有一定影响,如果有证书提示请关闭代理软件再试。