我一步一步地遵循了官方的 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。
重复免责声明:我已经阅读过 这个问题。这不是我想要的。我知道如何设置 Java 主页。我只想运行 react 项目而无需安装单独的 Java。
问题:
- 如何在 Android Studio 文件夹中找到内部 Java,以便将 JAVA_HOME 指向它?
- 如果不可能,我可以使用 Android Studio 打开并运行
android
文件夹中的项目吗?修改父文件夹中的 React JavaScript 代码后如何刷新此项目?
原文由 Mister Smith 发布,翻译遵循 CC BY-SA 4.0 许可协议
我将回答我自己的问题并赞助我的 Linux 用户:
1- 将 JAVA_HOME 指向 Android Studio 包含的 JRE,首先找到 Android Studio 安装文件夹,然后找到
/jre
目录。该目录的完整路径是您需要将 JAVA_PATH 设置为(感谢@TentenPonce 的 回答)。在 linux 上,您可以通过将此行添加到.bashrc
或.bash_profile files
来设置 JAVA_HOME:如果您遵循 React Native Getting Started for Linux,则此文件(一个或另一个)与您添加的
ANDROID_HOME
相同。默认情况下两者都是隐藏的,可以在您的主目录中找到。添加该行后,您需要重新加载终端,以便它可以获取新的环境变量。所以输入:或者
现在您可以在同一个终端中运行
react-native run-android
。另一种选择是重新启动操作系统。其他终端的工作方式可能不同。注意:要真正运行项目,需要提前启动安卓模拟器,或者连接真机。最简单的方法是打开一个已经存在的 Android Studio 项目并从那里启动模拟器,然后关闭 Android Studio。
2- 因为
react-native run-android
似乎做的就是这样:您实际上可以使用 Android Studio 打开嵌套的 android 项目并手动运行它。如果您在模拟器中 启用实时重新加载,则可以重新加载 JS 更改。键入 CTRL + M(在 MacOS 上为 CMD + M)并在出现的菜单中选择“启用实时重新加载”选项(感谢 @BKO 的回答)