Android Studio - 提供的 javaHome 不是有效文件夹

Posted

技术标签:

【中文标题】Android Studio - 提供的 javaHome 不是有效文件夹【英文标题】:Android Studio - supplied javaHome is not a valid folder 【发布时间】:2014-05-10 01:28:48 【问题描述】:

我决定将我的 JDK 更新到 Java 8,并安装到带有 jre 子目录的默认位置 C:\Program Files\Java\jdk1.8.0

我不确定 android Studio 是如何计算出 JDK 位置的,所以我决定启动它来看看。我收到以下消息:

未能完成 Gradle 执行。

原因: 提供的 javaHome 不是有效的文件夹。您提供:C:\Program Files\Java\jdk1.7.0_45

我更新了我的 JAVA_HOME 环境变量(用于系统和用户)以指向新路径,并尝试将其添加到我的 PATH 变量中,但每次我尝试在 Android Studio 中构建时都会收到相同的消息。但是,在我的环境变量中找不到引用的路径,那么它从哪里得到它,我该如何更改它?

谢谢

【问题讨论】:

【参考方案1】:

问题是我的项目的 JDK 位置。在 Android Studio 项目工具窗口中,我右键单击根目录,选择“模块设置”,然后设置 JDK 位置。现在一切都很好。

【讨论】:

这种事情我似乎把 50% 的时间都花在了 Android Studio 上。当然,您希望在模块设置中看到这一点!搜索 javaHome 的设置不会返回任何内容。它完全忽略了已经设置的 JAVA_HOME 环境变量。每次升级 JDK 都会中断。 从这个答案似乎不断获得支持这一事实来看,我想说你并不孤单!当然,Android Studio 仍处于测试阶段,所以我们希望这些事情在 1.0 推出时会更加顺畅。就我个人而言,我仍然更喜欢在 Eclipse 上使用它。 我刚刚得到这个运行 Android Studio 0.8.6 和 64 位 JDK 8 更新 20。一旦设置,我可以编译和运行应用程序。我尝试在我的项目文件夹中进行文本搜索,但在任何地方都找不到旧版本 7 JDK 文本。 JAVA_HOME 环境变量已经存在,但似乎没有使用它。我在一台新电脑上设置它。我仍然同意@Ellis 的观点,它比 Eclipse 更好。 啊,是的,这一直发生在我身上,我每次都必须在这里查找。根本不是直观的东西。 Android Studio 仍然比 Eclipse 好 10 亿倍! :-) 如果有人需要单独保留项目设置,您可以在模块设置文件夹中为您的 JDK 添加一个快捷方式,它可以正常工作。【参考方案2】:

尝试删除所有 .iml 文件和 .idea,然后从 Gradle 重新导入项目。为我工作(前提是您已设置其他所有内容)。

当您从 Intellij 切换到 Android Studio 或以其他方式切换并加载相同的项目时,会发生此错误。看起来他们的项目模型不兼容。

【讨论】:

【参考方案3】:

我不知道为什么或如何发生此问题,但 this answer 让我克服了困难。在 macOS rm -rf ~/.gradle 上清除缓存,然后重新启动 Android Studio。我尝试了所有其他方法,包括重新安装 JDK 和 Android Studio。清除 .gradle 目录是唯一有效的方法。

【讨论】:

只有对我有用的解决方案,在它询问时也不要升级 gradle 伙计,我要疯了,因为我没有建立一个在以前的笔记本电脑上完美运行的现有项目,并且一直想知道旧的无效路径仍然存在于哪里。这就是解决方案。简直不敢相信gradle 的工作原理是多么不直观...... smh。非常感谢您的回答。【参考方案4】:

对于Android Studio 1.1.0,右键项目后: 选择Open Module Settings 选择左上角的SDK LocationJDK Location: 框中输入文本

【讨论】:

【参考方案5】:

我遇到了同样的问题。我的 jdk 从 1.8.0_172 升级到 1.8.0_202。尽管我在模块配置中更改为正确的 jdk,但我一直收到上述错误。让我感到困惑的是,API 版本在可用项目 sdk 的下拉列表中标有旧的 *_172 版本。我发现这是下拉列表中引用旧 *172 的旧过时条目的原因。删除此条目后,API 版本被神奇地标记为新版本。

自我提醒:记得在新版本出现时清理您的项目

【讨论】:

这个对我有用,只是需要注意的是,我必须在删除过时的 SDK 后重新启动 IntelliJ 才能将其更改为新版本。 【参考方案6】:

我也看到了同样的问题。对我来说,修复是在“运行/调试配置”中(运行 > 编辑配置...)

“Gradle 项目”值设置为 build.gradle 文件位置,这应该已设置为 IDEA 中的 Gradle 项目对象,单击文件夹图标而不是“...”。

【讨论】:

谢谢!就是这样! 【参考方案7】:

我在 1.0.2 中,单击“确定”后,它立即打开一个对话框,允许我为我的项目指定位置,不再需要导航菜单来编辑项目 JDK 路径。

很奇怪,在安装过程中,它说 JAVA_HOME 环境变量设置为不包含 JDK 的路径。在花时间修复它(下载完整的 64 位 JDK)之后,我创建了我的第一个项目并得到了同样的东西。因为它没有使用在设置过程中依赖的环境变量。

奇怪的行为。

【讨论】:

【参考方案8】:

由于某种原因,我未能使用上述所有答案,所以我所做的是从项目中删除(实际上已移动,以便我可以在出现问题时返回)“.idea”文件夹。然后我再次打开IDE,一切正常。

【讨论】:

【参考方案9】:

在 2021 年得到这个?尝试rm -rf ~/.gradle并重新启动Android Studio。

【讨论】:

以上是关于Android Studio - 提供的 javaHome 不是有效文件夹的主要内容,如果未能解决你的问题,请参考以下文章

在 MacOS 的命令行中使用 Android Studio 的内置 Java

如何在 Java 和 android studio 中实现 Canny Edge Detector

Android Studio 升级到3.0 提示 java.lang.NoClassDefFoundError

无法连接到 SQL 数据库(Java、Android Studio)

Android Studio中配置及使用OpenCV示例

掌握最快捷的Android Studio使用方式