React Native:未设置 JAVA_HOME 并且在您的 PATH 中找不到“java”命令

IT技术 android reactjs react-native
2021-05-02 07:35:14

我已经一步一步地遵循了官方的入门指南我从一个干净的 linux 安装开始,并按照“使用本机代码构建项目”选项卡安装了所需的一切。我还阅读了故障排除部分。我已经使用终端创建了项目。

这是我运行时的错误react-native run-android

    Starting JS server...
    Building and installing the app on the device (cd android && ./gradlew installDebug)...

    ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.

    Please set the JAVA_HOME variable in your environment to match the
    location of your Java installation.

    Could not install the app on the device, read the error above for details.
    Make sure you have an Android emulator running or a device connected and have
    set up your Android development environment:
    https://facebook.github.io/react-native/docs/android-setup.html

它没有找到 JAVA_HOME,因为最新版本的 Android Studio 不需要在系统中安装 Java。而是使用内部 JRE。

重复免责声明:我已经阅读了这个问题这不是我想要的。我知道如何设置 Java 主页。我只想运行 react 项目,而不必安装单独的 Java。

问题:

  1. 如何在 Android Studio 文件夹中找到内部 Java 以便我可以将 JAVA_HOME 指向它?
  2. 如果不可能,我可以android使用 Android Studio打开并运行文件夹内的项目吗?修改父文件夹中的 React JavaScript 代码后,如何刷新此项目?
4个回答

视窗 10:

Android Studio -> 文件 -> 其他设置 -> 默认项目结构... -> JDK 位置:

复制显示的字符串,例如:

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

在文件定位器目录窗口中,右键单击“此电脑”->

属性 -> 高级系统设置 -> 环境变量... -> 系统变量

单击System Variables 下New...按钮,然后分别键入和粘贴:

.......变量名称: JAVA_HOME

.......变量值: C:\Program Files\Android\Android Studio\jre

并点击 OK 按钮关闭。

某些安装可能还需要以相同的方式设置JRE_HOME

要进行检查,请打开一个新的黑色控制台窗口,然后键入echo %JAVA_HOME%. 您应该找回您在系统变量中键入的完整路径。Windows 10 似乎很好地支持系统变量的文件名路径中的空格,并且似乎不需要 ~tilde 省略。

我将回答我自己的问题并为我的 linux 用户提供反馈:

1- 要将 JAVA_HOME 指向 Android Studio 附带的 JRE,首先找到 Android Studio 安装文件夹,然后找到/jre目录。该目录的完整路径是您将 JAVA_PATH 设置为所需的路径(感谢@TentenPonce 的回答)。在 linux 上,您可以通过将此行添加到您的.bashrc来设置 JAVA_HOME .bash_profile files

export JAVA_HOME=<Your Android Studio path here>/jre

ANDROID_HOME如果您遵循 React Native Getting Started for Linux,则此文件(一个或另一个)与您添加到的文件相同默认情况下,两者都是隐藏的,可以在您的主目录中找到。添加该行后,您需要重新加载终端,以便它可以选择新的环境变量。所以输入:

source $HOME/.bash_profile

或者

source $HOME/.bashrc

现在您可以react-native run-android在同一个终端中运行另一种选择是重新启动操作系统。其他终端的工作方式可能有所不同。

注意:项目要真正运行,需要提前启动安卓模拟器,或者连接真机。最简单的方法是打开一个已经存在的 Android Studio 项目并从那里启动模拟器,然后关闭 Android Studio。

2- 由于react-native run-android似乎要做的就是这样:

cd android && ./gradlew installDebug

您实际上可以使用 Android Studio 打开嵌套的 android 项目并手动运行它。如果您在模拟器中启用实时重新加载则可以重新加载 JS 更改键入 CTRL + M(MacOS 上为 CMD + M)并在出现的菜单中选择“启用实时重新加载”选项(感谢@BKO的回答

我认为找到 Android Studio 使用的内部 Java 的正确方法是

  1. 打开android-studio
  2. 转到文件->其他设置->默认项目结构/JDK位置:
  3. 并复制那里指定的任何字符串

这不需要记住文件夹或搜索 java 并且这些步骤将在未来由 Android Studio 团队更改对 java 位置的任何更改我想

它位于Android Studio文件夹本身,也就是您安装它的位置。

在此处输入图片说明