Android Studio 电鳗:javaHome 好像无效

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

我正在开发一个 React Native - TypeScript 移动应用程序。我更新了 Android Studio,这破坏了我的应用程序的构建。我花了几个小时,但无法解决不断出现的 JAVA_HOME 错误。需要帮助。

安装Android Studio:

Android Studio Electric Eel | 2022.1.1
Build #AI-221.6008.13.2211.9477386, built on January 11, 2023
Runtime version: 11.0.15+0-b2043.56-8887301 amd64
VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o.
Windows 10 10.0
GC: G1 Young Generation, G1 Old Generation
Memory: 1280M
Cores: 8
Registry:
    external.system.auto.import.disabled=true
    ide.text.editor.with.preview.show.floating.toolbar=false

JAVA_HOME
设置为
C:\Program Files\Java\jdk-19
。我可以更改为
C:\Program Files\Android\Android Studio\jbr
,其中有
\bin\java.exe

运行时出错

react-native run-android
:

info Starting JS server...
info Installing the app...

FAILURE: Build failed with an exception.

* What went wrong:
The supplied javaHome seems to be invalid. I cannot find the java executable. Tried location: C:\Program Files\Android\Android Studio\jre\bin\java.exe

* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.

* Get more help at https://help.gradle.org

error Failed to install the app. Make sure you have the Android development environment set up: https://reactnative.dev/docs/environment-setup.
Error: Command failed: gradlew.bat app:installDebug -PreactNativeDevServerPort=8081

FAILURE: Build failed with an exception.

* What went wrong:
The supplied javaHome seems to be invalid. I cannot find the java executable. Tried location: C:\Program Files\Android\Android Studio\jre\bin\java.exe

* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.

* Get more help at https://help.gradle.org
android react-native android-studio
8个回答
19
投票

对于 Windows

问题是因为旧的 Android Studio java 文件夹的痕迹,只需删除此文件夹即可开始工作:

C:\Program Files\Android\Android Studio\jre

新的 Android Studio Electric Eel 使用的是 jbr,而不是 jre。


对于 macOS 正如 @Jayanth 上面回复的: 如果您使用的是 macOS,请替换 .bash_profile 或 .zshrc 中的路径

export JAVA_HOME="/Applications/Android Studio.app/Contents/jre/Contents/Home"

export JAVA_HOME="/Applications/Android Studio.app/Contents/jbr/Contents/Home"

8
投票

更新 android studio 后,我的 Kotlin Android 项目也遇到了同样的问题。这似乎是一个错误。以下步骤对我有用:

  1. JAVA_HOME
    更新为
    C:\Program Files\Android\Android Studio\jbr

  2. 打开文件资源管理器并导航到

    C:\Program Files\Android\Android Studio\jbr
    复制所有内容并将其粘贴到
    C:\Program Files\Android\Android Studio\jre

  3. 重新启动您的电脑并尝试再次运行该项目。


5
投票

如果您使用的是MAC 替换 .bash_profile 或 .zshrc 中的路径

export JAVA_HOME="/Applications/Android Studio.app/Contents/jre/Contents/Home"

export JAVA_HOME="/Applications/Android Studio.app/Contents/jbr/Contents/Home"

2
投票

如果有人在 Android Studio 更新到 Android Studio Electric Eel 后遇到此错误 | 2022.1.1 而不是简单地按照以下步骤操作:

转到 android studio 目录(默认 C:\Program Files\Android\Android Studio)删除 jre 文件夹以管理员身份运行 cmd

cd C:\Program Files\Android\Android Studio mklink /D "jre" "jbr"


0
投票

错误消息表明 JAVA_HOME 环境变量设置为无效位置,特别是“C:\Program Files\Android\Android Studio\jre in\java.exe”,其中不包含 java 可执行文件。

看来更新Android Studio后,JDK的位置发生了变化。您可以尝试以下步骤来解决该问题:

  • 找到计算机上的 JDK 目录。它应该与 Android Studio 位于同一位置,例如“C:\Program Files\Android\Android Studio\jdk”。确保该目录包含 java.exe 可执行文件。

  • 更新 JAVA_HOME 环境变量以指向正确的 JDK 目录。您可以通过转到“系统属性”>“高级”>“环境变量”,然后编辑 JAVA_HOME 变量以指向正确的位置来完成此操作。

  • 重新启动终端或命令提示符并尝试再次运行“react-native run-android”命令。

  • 如果问题仍然存在,您可以删除当前安装的JDK并重新安装。

另一个解决方案是检查您的 Android Studio 设置,并确保“外观和行为 > 系统设置 > Android SDK”设置下的 JDK 位置正确。

还要确保您已在系统环境变量中设置 JAVA_HOME 环境变量,而不仅仅是在用户变量中。


0
投票

对于 Mac 用户:

确保你已经安装了java并设置了java_home路径,你可以使用homebrew来实现。 注意如果您安装了 Android Studio Electric Eel 请按照以下步骤操作

转到您的应用程序文件夹。 搜索 Android Studio 右键单击并选择显示包内容。 导航到打开的内容文件夹。 创建 NewFolder jre 并从 jbr 复制内容。


0
投票

对于Mac用户,我们可以简单地使用以下命令来解决这个问题

cd /Applications/Android\ Studio.app/Contents

ln -s jbr jre 

0
投票

好吧,我解决了这个问题。您应该从“C:\Program Files\Android\Android Studio”中删除“jre文件夹,并重置您的Android Studio ide并再次运行

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