小编典典

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

reactjs

我已逐步遵循官方的《入门指南》。我从干净的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代码后,如何刷新该项目?

阅读 488

收藏
2020-07-22

共1个答案

小编典典

我将回答我自己的问题,并鼓励其他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您遵循Linux的React
Native入门指南时所添加的文件相同。两者默认都是隐藏的,可以在您的主目录中找到。添加该行之后,您需要重新加载终端,以便它可以接收新的环境变量。所以输入:

source $HOME/.bash_profile

要么

source $HOME/.bashrc

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

注意:要使该项目实际运行,您需要提前启动Android模拟器或连接真实设备。最简单的方法是打开一个已经存在的Android
Studio项目并从那里启动模拟器,然后关闭Android Studio。

2-由于react-native run-android看起来是这样的:

cd android && ./gradlew installDebug

您实际上可以使用AndroidStudio打开嵌套的android项目并手动运行它。如果在模拟器中启用实时重新加载,则可以重新加载JS更改。键入CTRL + M(CMD +
M在MacOS),并在菜单中选择“启用实时重载”选项时显示

2020-07-22