这是我运行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.
问题:
>我怎样才能在Android Studio文件夹中找到内部Java,以便我可以将JAVA_HOME指向它?
>如果不可能,我可以使用Android Studio在android文件夹中打开并运行项目吗?在修改父文件夹中的React JavaScript代码后,如何刷新此项目?
解决方法
1-要将JAVA_HOME指向Android Studio附带的JRE,首先找到Android Studio安装文件夹,然后找到/ jre目录.该目录的完整路径是您需要将JAVA_PATH设置为(感谢@TentenPonce为他的answer).
在linux上,您可以通过将此行添加到.bashrc或.bash_profile文件来设置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-因为反应本机run-android似乎只是这样:
cd android && ./gradlew installDebug
您实际上可以使用Android Studio打开嵌套的Android项目并手动运行它.如果您在模拟器中使用enable live reload,则可以重新加载JS更改.键入CTRL M(MacOS上为CMD M),然后在出现的菜单中选择“启用实时重新加载”选项(对于his answer,请给@BKO致敬)