在真实的android设备上运行react native应用时无法连接服务器

问题描述

我正在尝试在我的真实android设备上运行我的react native应用程序,因为笔记本电脑在使用Android studio时温度过高(8 Gb RAM,很痛苦)。因此,我启用了USB调试功能,插入了电缆并运行了“ react-native run-android”命令。该应用程序启动没有问题。我也启动了后端服务器,该服务器已在localhost:3000和localhost:3001上运行。该应用程序运行并显示登录注册页面。我尝试注册,但是出现错误消息

错误[TypeError:网络请求失败]

我正在同一网络上通过WIFI连接,希望服务器和应用程序可以通信,但应用程序却不能。

代码本身没有任何问题,因为我之前在android studio中多次运行它,并且该应用程序运行良好。我能够以新用户身份注册并使用相同的ID登录。我无法在实际设备中执行相同的操作。

我的问题:

  1. 我阅读了官方文档,并说要打开应用程序内开发人员菜单,并放置机器的IP地址和本地主机服务器。是localhost服务器是运行Metor JS的本地主机,还是应用程序本身的后端服务器?

  2. 在这里缺少什么,任何命令或任何配置?

  3. 为什么我的应用程序无法与服务器通信?

  4. 网络错误的原因。

解决方法

您应按照以下步骤连接捆绑器。

  1. 确保应用和捆绑程序使用相同的网络。

  2. 如果您使用的是android,请将此代码添加到 androidMenifest.xml 文件中。

    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
    <uses-permission 
    android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
     <application
       android:usesCleartextTraffic="true" // make sure that this line is added.
         .......>
          .......
     </application>
    
  3. 如果要在开发人员设置中添加 localhost ,请尝试这样添加您的IP地址,yourIP:yourPort

    示例:192.168.89.24:8081