dev服务器返回错误代码403反应原生

时间:2016-05-22 16:01:20

标签: android windows react-native

按照步骤here在Windows机器上尝试react-native android。

  1. 在单独的提示下,我执行了 react-native start ,这是正常运行
  2. 从AVD Manager启动AVD
  3. 执行 react-native run-android
  4. 建立成功 总时间:27.632秒 在模拟器-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
    2. 但我看到一个错误,我很难解决。请建议解决。

      enter image description here enter image description here

      --- --- EDIT

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

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

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

6 个答案:

答案 0 :(得分:14)

A)设置dev服务器的新端口
用户命令 react-native start --port = 8088
或者你的项目\ node_modules \ react-native \ local-cli \ server \ server.js 设置可用端口说8080
现在使用 react-native start 在8080上启动服务器

B)现在要在模拟器和开发服务器之间建立通信,请使用以下命令
adb -s emulator -5554反向tcp:8088 tcp:8088
 i)5554 =&gt;模拟器端口( adb devices 命令将告诉您模拟器端口,但如果此命令不起作用,则设置路径C:/../ android-sdk / platform-tools in < strong>路径 environemnt变量)
ii)8088 =&gt;服务器端口

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

D)按照以下步骤更新模拟器中的Dev服务器路径

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

答案 1 :(得分:4)

  1. cmd + MCtrl + M for windows)打开模拟器的开发菜单(在使用此命令之前,请确保您的react-native应用程序在Android模拟器的活动窗口中打开)
  2. 点击Dev Settings
  3. Debugging下选择Debug server host & port for device
  4. 在您的案例10.0.2.2:8088
  5. 中为您的应用输入正确的网址和端口

    一旦你这样做,你可以重新加载你的应用程序,它应该工作。

答案 2 :(得分:1)

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

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

现在建立项目。

2)按照以下步骤更新模拟器中的Dev服务器路径

  • Ctrl + M for windows打开模拟器的开发菜单。
  • 点击开发设置
  • 在调试下选择Debug server host&amp;设备端口
  • 输入应用程序的URL和端口10.0.2.2:8088

答案 3 :(得分:0)

只需在手机上运行这个,尝试找出模拟器的硬编码React代码是浪费时间。似乎没有足够的时间来解决这个问题。花了3天的时间阅读许多博客,尝试了很多东西,没有任何效果。我们公司也经营迈克菲,我遇到了同样的问题。

答案 4 :(得分:0)

由于默认端口的阻塞,可能会出现此问题。就我而言,我可以在执行以下步骤后对其进行修复-

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

答案 5 :(得分:0)

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

在运行应用程序时只需设置端口

react-native run-android --port=8082