【问题标题】:Unable to connect Android phone to my project with Expo无法通过 Expo 将 Android 手机连接到我的项目
【发布时间】:2018-01-15 10:54:26
【问题描述】:

我通过 CLI 在 react native 中创建了我的项目:

_npm install -g create-react-native-app
_create-react-native-app AwesomeProject
_cd AwesomeProject
_npm start

然后我在我的安卓手机上安装了expo,并在我的电脑屏幕上扫描了一个二维码。

但是,我的手机无法连接到项目,我不知道为什么。它只是加载并失败。这是错误信息:

无法加载 exp://192.168.56.1:19000。网络响应超时。

这是视图错误:

“未捕获的错误:java,not.SocketTimeoutException: 10000 毫秒后无法连接到/192.168.56.1(端口 19000)。

我正在尝试修复它,但仍然无法正常工作。我的手机和笔记本电脑在同一个网络上。我现在能做什么?

【问题讨论】:

  • 您在笔记本电脑上使用过 EXPO SDK 吗?
  • 可能不是。我只是按照“facebook.github.io/react-native/docs/getting-started.html”中的说明进行操作。那么这是什么意思呢?
  • 使用 Expo SDK,expo 将生成指向您本地 ip 的隧道链接,或者您可以将您的 react native 应用程序发布到他们的服务器,这样您就可以在关闭开发模式时始终查看您的应用程序。我在使用本地 ip 时遇到了一些问题。

标签: react-native expo


【解决方案1】:

【讨论】:

  • 天哪,我的问题解决了。我对所有虚拟网络都进行了破坏,并且它起作用了。非常感谢。
【解决方案2】:

我在 iOS 上遇到过类似问题 - 该项目出现在 Expo 应用程序中,但不想连接。

这就是我所做的:

  1. 通过 USB 数据线将您的 PC 连接到您的设备

  2. https://github.com/expo/xde/releases下载最新的xde

  3. 安装 XDE,从 gui 创建一个新项目(不要使用 create-react-app 中的旧项目,因为它也可能出现在 XDE 中)并单击新创建的(在 XDE 中)项目下“我的项目”。

现在您的项目应该会显示在您手机上的 Expo 应用中。如果它没有尝试通过电子邮件向您自己发送指向您应用的链接(发送到您自己的收件箱,然后在您的手机上打开链接),我的看起来像这样:exp://5c-gp9.[accountname].my-new-project.exp.direct:80

【讨论】:

    【解决方案3】:

    我遇到了同样的问题,原来我的防火墙阻止了我的连接到开发服务器端口(对我来说是 19000)。通过禁用防火墙解决它。

    【讨论】:

    • 谢谢!我能够打开端口 19000,这似乎也修复了它。
    【解决方案4】:

    当我的手机通过 wifi 连接并且我的 destop 通过 LAN 连接时,我遇到了这个问题。我将浏览器窗口中的连接模式更改为隧道,重新加载了 expo 应用程序并能够连接到我的应用程序。这是在我的 iOS 设备上。

    【讨论】:

      【解决方案5】:

      确保您的设备和计算机是同一个 LAN/Wifi。它会起作用的。 也使用 LAN 选项。

      【讨论】:

      • 是的,感谢您的意见,就我而言,我已经安装了虚拟盒子,这就是为什么它会混淆网络连接。
      【解决方案6】:

      我在带有 android 的 Win 10 上遇到了这个问题,并通过为我的设备添加防火墙规则(设备 IP 作为远程)解决了这个问题。我使用的是 ESET NOD 杀毒软件,它阻止了设备访问 node.exe

      【讨论】:

        【解决方案7】:

        选择本地而不是局域网。

        当我修复这个问题时,我踢了自己。

        【讨论】:

          【解决方案8】:

          我遇到了同样的问题,但通过运行 expo start --tunnel 解决了

          【讨论】:

          • Tunnel 非常非常慢,用usb 连接手机也一样。
          • 这对我有用。谢谢
          【解决方案9】:

          使用检查开放端口

          ufw status verbose
          

          如果您没有看到您正在使用的端口 例如 19000 => 世博会 试试这个

          ufw allow 19000
          

          【讨论】:

            【解决方案10】:

            我遇到了同样的问题,解决方法很简单,只需制定一个防火墙规则,允许从您的移动设备连接到您的 PC。打开端口号19000并在IP中输入您的手机IP地址然后允许双向连接TCP/UDP,一切都会好的。 通常,您可以通过 PC 上安装的防病毒软件来编辑防火墙规则。

            小心不要禁用你的防火墙,它会伤害你很多。

            【讨论】:

              【解决方案11】:

              在连接选项卡中选择 Tunnel 而不是 LANLocal。这为我解决了这个问题。

              【讨论】:

                【解决方案12】:

                这个问题是由于项目的sdk版本与expo go不兼容,所以去你项目的app.json并编辑到最新版本的sdk

                【讨论】:

                  【解决方案13】:

                  用于本地测试,例如计算机、模拟器

                  expo start

                  适用于真正的移动设备

                  expo start --tunnel

                  【讨论】:

                    【解决方案14】:

                    我在 Windows 10 上。

                    我的网络设置为public,但它必须是private - 以便它可以安全地暴露打印机等设备,在这种情况下是 Expo 连接。

                    我进入我的 Wifi 设置并点击私人:

                    【讨论】:

                    • 这如何解决问题?
                    • @ryanwebjackson 正如我的回答中所述,它允许网络对 Expo 内部要求公开和可见。我不知道 Expo 是如何做到的,但是如果没有在 Windows Wifi 设置中进行此配置,Expo 就无法连接到我的 Android 设备。这个解决方案可能是其他问题的一部分,但在我的情况下它解决了。
                    猜你喜欢
                    • 1970-01-01
                    • 1970-01-01
                    • 2020-04-21
                    • 1970-01-01
                    • 1970-01-01
                    • 2021-10-17
                    • 1970-01-01
                    • 1970-01-01
                    • 2018-03-22
                    相关资源
                    最近更新 更多