【问题标题】:dev server returned error code 403 react native开发服务器返回错误代码 403 反应本机
【发布时间】:2016-05-22 16:01:20
【问题描述】:

按照here 的步骤在 Windows 盒子上尝试 react-native android。

  1. 在单独的提示符下,我执行了 react-native start,它运行良好
  2. 从 AVD Manager 启动 AVD
  3. 已执行 react-native run-android

构建成功 总时间:27.632 秒 在 emulator-5554 上启动应用程序(D:\software\Android\android-sdk/platform-tool s/adb -s emulator-5554 shell am start -n com.awesomeproject/.MainActivity)... 开始:意图 { cmp=com.awesomeproject/.MainActivity }

  1. 在同一文件夹中的单独控制台上执行 react-native run-android

但我看到了一个我很难解决的错误。请提出解决方案。

---编辑---

问题可能是 McAfee 正在使用 8081 端口。所以我更新了 server.js 以在 8088 上运行开发端口,现在当我浏览 http://localhost:8088/index.android.bundle?platform=android 时,我可以看到 JS 正在加载。

但是如何让 android 使用这个地址而不是默认的 **10.0.2.2:8081?** 我找到了一个包含 10.0.2.2 路径的文件 AndroidInfoHelpers.java 但不确定是否这就是作为一个 JAVA 文件的方式,我可能需要重新编译整个程序。应该有一种更简单的方法来让 android 应用程序为开发服务器使用不同的端口。

另外,当我执行 react-native run-android 时,得到输出的第一行显示“JS 服务器无法识别.. 继续构建”,这可能是在喊同样的事情。 p>

【问题讨论】:

标签: android windows react-native


【解决方案1】:

A) 为开发服务器设置新端口
用户命令 react-native start --port=8088

yourproject\node_modules\react-native\local-cli\server\server.js 设置可用端口说 8080
现在使用 react-native start 在 8080 上启动服务器

B) 现在要在模拟器和开发服务器之间建立通信,请使用以下命令
adb -s emulator -5554 reverse tcp:8088 tcp:8088
i) 5554 =>模拟器端口(adb devices 命令会告诉你模拟器端口,但如果此命令不起作用,则在 中设置路径 C:/../android-sdk/platform-tools >路径环境变量)
ii) 8088 =>服务器端口

C) 运行命令react-native run-android

D)按照以下步骤在模拟器中更新开发服务器路径

i) Ctrl + M for windows 打开模拟器的开发菜单。
ii) 点击开发设置
III) 在 Debugging 下选择 Debug server host & port for device
IV) 输入应用程序的 url 和端口为 10.0.2.2:8088

【讨论】:

  • 这应该是一个公认的答案。
  • 完美的解决方案,它对我有用,因为 McAfee 阻止了 8081 端口
【解决方案2】:
  1. cmd + M(Windows 为Ctrl + M)打开模拟器的开发菜单(在使用此命令之前,请确保您的 react-native 应用已在 android 模拟器的活动窗口中打开)
  2. 点击Dev Settings
  3. Debugging 下选择Debug server host & port for device
  4. 在您的情况下为您的应用程序输入正确的 url 和端口10.0.2.2:8088

完成此操作后,您可以重新加载您的应用程序,它应该可以工作。

【讨论】:

  • Cmd+M(我猜是 Ctrl+M)在模拟器上只显示壁纸、小部件和设置。当我钻取设置时,我只看到 AutoRotate。
【解决方案3】:

1) 首先在下面的文件中设置端口号为8088

yourproject\node_modules\react-native\local-cli\server\server.js

现在构建项目。

2) 按照以下步骤在模拟器中更新开发服务器路径

  • Ctrl + M 用于 Windows 以打开模拟器的开发菜单。
  • 点击开发设置
  • 在调试下选择调试服务器主机和设备端口
  • 输入应用程序的 url 和端口为 10.0.2.2:8088

【讨论】:

    【解决方案4】:

    只需在你的手机上运行这个,尝试找出模拟器的硬编码 React 代码是浪费时间。似乎没有足够的时间花在解决这个问题上。花了 3 天时间阅读许多博客的方式,并尝试了许多事情的方式,但没有任何效果。我们公司也运行 McAfee,我也遇到了同样的问题。

    【讨论】:

    • 我正在使用手机,但仍然无法正常工作,并且在死红屏幕上出现相同的 403 错误代码。如果您有任何其他解决方案,请告诉我们?
    【解决方案5】:

    这个问题可能是因为默认端口被阻塞了。就我而言,我能够在执行以下步骤后修复它-

    1. 在新端口上启动开发服务器:- react-native start --port=8088
    2. 通过在实际连接的设备上振动或在模拟器上按“Ctrl + M”打开开发者菜单。
    3. 选择开发设置
    4. 在调试下选择调试服务器主机和设备端口
    5. 输入您的应用程序的 url 和端口为“10.0.2.2:8088

    【讨论】:

      【解决方案6】:

      这对我有用。做同样的事情,但速度很快。

      运行应用时设置端口

      react-native run-android --port=8082

      【讨论】:

        猜你喜欢
        • 2018-10-04
        • 1970-01-01
        • 2021-12-18
        • 2021-09-16
        • 2014-01-17
        • 1970-01-01
        • 2017-06-07
        • 2017-04-09
        • 1970-01-01
        相关资源
        最近更新 更多