React Native:无法从开发服务器下载 JS bundle



>我正在尝试通过Genymotion在Windows 7机器上运行基本的AwesomeProject应用程序,该应用程序默认具有本机反应。我尝试过的虚拟设备是Nexus 7 4.2.2和Nexus 6 5.1.0。

我正在使用 Nodejs (4.3.0(

我按照以下步骤克服JS捆绑包问题,但仍然没有成功:

  • 在Genymotion中启动虚拟设备
  • React-native run-android//在虚拟设备上部署了应用程序
    • 然后出现红屏并显示错误消息
  • 反应本机启动//启动服务器
  • 更新了带有我的机器IP地址的设备调试服务器主机:8081

    • 访问返回应用程序屏幕并单击重新加载JS,但没有成功
  • 我也尝试重新安装守望者,正如相关帖子上的许多人建议的那样,但仍然没有成功。

此外,我在 React.js官方文档中看到了另一种解决方案,即执行此命令"adb 反向 tcp:8081 tcp:8081",然后启动服务器并分别更新 IP 地址和端口。但是,如果我在我的个人设备而不是模拟器上测试应用程序,则此解决方案很有用。

任何建议或替代解决方案都非常感谢。

谢谢。

好的!!

首先,您需要执行反应本机启动。

在设备上部署应用程序时,您可以点击菜单按钮或摇动您的单元格以加载菜单,大多数现代手机都没有菜单按钮。加载时找到开发设置。 在下面的"调试"中,单击设备的"调试服务器主机和端口"放置由DHCP分配给您的系统本地网络IP。你可以在 ubuntu 上做 ifconfig 来查看你的 IP。

像这样输入您的 IP 地址 192.168.x.x:8081执行重新加载 JS。

你就会全部准备好了。 :)

重要提示:确保您的手机和系统在同一WIFI上。

启动打包程序:

react-native start

在浏览器中转到此网址

http://localhost:8081/index.android.bundle?platform=android

加载后,它应该提供比您拥有的错误响应更好的错误响应。

当我

在连接到工作 VPN 时运行 react 本机打包程序时遇到了这个问题,一旦我断开了工作 VPN 连接,打包程序就能够为我的应用程序选择正确的 IP 接口。

我遇到的问题是我的端口 8081 已经被另一个进程使用,因此我的 react 本机进程无法启动。

使用lsof -n -i4TCP:8081 | grep LISTEN为我指明了正确的方向

最新更新