React Native:未设置JAVA_HOME,并且在PATH

时间:2018-01-17 10:31:08

标签: android reactjs react-native

我已逐步跟随官方Getting Started。我从干净的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。

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

问题:

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

11 个答案:

答案 0 :(得分:23)

我会回答我自己的问题并赞助我的linux用户:

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

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

如果您正在关注适用于Linux的React Native入门,则此文件(一个或另一个)与您添加ANDROID_HOME的文件相同。两者都默认隐藏,可以在您的主目录中找到。添加行后,您需要重新加载终端,以便它可以获取新的环境变量。所以输入:

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

您实际上可以使用Android Studio打开嵌套的Android项目并手动运行。如果您在模拟器中enable live reload,则可以重新加载JS更改。键入CTRL + M(MacOS上的CMD + M),然后在出现的菜单中选择“启用实时重新加载”选项(his answer的@BKO赞誉

答案 1 :(得分:20)

Windows 10:

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

显示复制字符串,例如:

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

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

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

点击“系统变量”下的新建... 按钮,然后分别键入和粘贴:

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

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

然后点击确定按钮以关闭。

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

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

答案 2 :(得分:8)

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

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

这不需要记住文件夹或搜索Java,而且这些步骤将由我认为的Android Studio团队更改将来对Java位置进行的任何更改

答案 3 :(得分:3)

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

enter image description here

答案 4 :(得分:2)

对于那些仍然无法从 Android Studio 安装设置 JAVA_HOME 的人,对我来说路径实际上不在 C:\...\Android Studio\jre

而是在 ...\Android Studio\jre\jre 中。

别问我为什么。

Environment variables jre location snippet

答案 5 :(得分:2)

  • 显然系统变量与用户不同步 变量
  • 在命令提示符下以管理员身份运行并设置变量
  • 我还看到了一些关闭节点窗口和 vscode 终端的提示 变量生效

enter image description here

来自本网站的提示 https://confluence.atlassian.com/doc/setting-the-java_home-variable-in-windows-8895.html

setx -m JAVA_HOME "C:\Progra~1\Java\jdk1.8.0_XX"

然后

echo %JAVA_HOME%

答案 6 :(得分:1)

我所做的就是从cmd(命令提示符)转到我的项目目录,我键入了java -version.it告诉我它正在寻找哪个版本。所以我安装了该版本,并将路径更改为找到该版本的jdk。

答案 7 :(得分:1)

我在命令提示符下运行了此命令(具有Windows 7 OS): JAVA_HOME = C:\ Program Files \ Android \ Android Studio \ jre

其=的位置是该jre文件夹的路径,因此任何人都可以不同。

答案 8 :(得分:0)

  1. 确保已安装Java
  2. 您的路径错误

执行此操作:

@EnableTransactionManagement

结果:java home设置为

CriteriaQuerySampleDao
  1. 按照路径查看目录是否正确

我是在我的终端上这样做的:

    export | grep JAVA

然后我去了/ Java / JavaVirturalMachines 原来我有错误的“ jdk1.8.0_202.jdk”文件夹,还有另一个号码... 4.您可以使用此命令设置java_home

JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_202.jdk/Contents/Home

答案 9 :(得分:0)

请在用户变量的系统变量no中添加JAVA_HOME

  1. 将变量名称创建为JAVA_HOME
  2. 请在值框中使用这些格式-> C:\ Program Files \ Java \ jdk(version)您已下载或下载的内容。

答案 10 :(得分:0)

我通过安装jre来解决此问题,我已经安装了jdk但未安装jre