尝试在Android 4.4.2上创建一个反应原生项目,我得到了这个错误屏幕
却找不到解决的办法。我尝试重新启动packager,重新连接设备,甚至重新安装react native并开始新的项目。在6.0.0和更高版本上,它工作得很好。
尝试在Android 4.4.2上创建一个反应原生项目,我得到了这个错误屏幕
却找不到解决的办法。我尝试重新启动packager,重新连接设备,甚至重新安装react native并开始新的项目。在6.0.0和更高版本上,它工作得很好。
当前回答
它“随机”出现了这个问题,我花了一段时间才意识到我的场景中哪里出了问题。
在我更新到React-native-cli 2.0.1后,有一条消息输出到日志中,帮助我挖掘并找到根本原因:
JS服务器无法识别,继续构建…
在研究了一些链接后,我发现了这个:
无法识别JS服务器
因为我在windows上,我运行netstat,发现我的VLC播放器也在8081端口上运行,导致了这个问题。 所以,在我的情况下,如果我启动vlc服务器之前的反应本机服务器,它不会工作。
在之前版本的react-native-cli中没有输出相同的日志消息,使其无声地失败。
TL, DR:检查与包管理器(默认为8081)相同的端口上是否有任何东西正在运行
其他回答
我尝试了上面/下面的许多建议,但最终,我面临的问题是watchman的权限问题,它在之前使用homebrew安装。如果您在尝试使用模拟器时查看您的终端消息,并在模拟器上遇到关于watchman的“Permission denied”错误以及“Could not get BatchedBridge”消息,请执行以下操作:
进入您的/Users/<username>/Library/LaunchAgents目录并更改权限设置,以便您的用户可以读和写。这与你是否有一个com.github.facebook.watchman.plist文件无关。
当我第一次开始使用React Native时,我也得到了这个,使用物理设备。如果是这样的话,你需要在开始之前做一些额外的事情。你必须在React Native的“Dev Settings”中输入一些关于你的开发机器的信息。
当你看到错误时,摇动你的设备。一个对话框将弹出,最后一个选项将是“开发设置”。选择“调试服务器热和设备端口”,输入您的本地IP和使用的端口(通常是8081)。
见https://facebook.github.io/react-native/docs/running-on-device-android.html的最后一段
这对我来说是有效的(在尝试了我发现的所有其他解决方案之后…):
在\Android\sdk\platform-tools中运行adb reverse tcp:8081 tcp:8081
在我的情况下,它是jsEngine: 'hermes'下的android分段,删除它固定的生产构建。
虽然有点晚,但这对我来说真的很管用。
react-native运行android。 react-native开始。
第一个命令将为android构建apk,并将其部署到连接的设备上。当你打开应用程序,它会显示红色屏幕错误。然后运行第二个命令,该命令将运行packager并为您构建应用程序包。