React Native'hello world'快速入门:"无法连接到开发服务器"

jbs*_*ove 21 android react-native

我正在尝试做反应原生'hello world',我正在我的android上使用usb调试.

我跑了react-native run-android,然后react-native start.

我可以查看js文件localhost,但在手机上"无法连接到开发服务器"消息.

我按照说明运行adb reverse tcp:8081 tcp:8081,然后意识到命令不存在,所以我跑了adb forward tcp:8081 tcp:8081.

仍然没有运气.使用react-native@0.22.0,ubuntu 14.04.我的手机是android 6.0.1上的nexus 5.

我怎样才能让手机访问我的手机localhost

顺便说一句,它正在通过wifi工作,但我想让它在usb上工作.

Haw*_*awk 25

只是另一种情况,当我忘记运行react-native start命令时,这个错误发生在我身上.当我开始新项目时,我通常会按照这里的步骤操作.简而言之的步骤如下(在我的情况下为Android):

  • 启动Android Studio - > AVD Manager - >选择您的aVD,然后单击"从操作开始"
  • 在要创建新项目的目录中,打开命令行并运行:

    $ react-native init <Your new project name/it is also the registration name>
    $ cd <the new directory you created>
    $ react-native start  //This is the step that I forgot
    
    Run Code Online (Sandbox Code Playgroud)
  • 打开一个新的命令提示符并在同一目录(您刚刚创建)中运行以下命令以在AVD上启动应用程序.

    $ react-native run-android
    
    Run Code Online (Sandbox Code Playgroud)
  • 如果一切设置正确,您应该会很快看到您的新应用在Android模拟器中运行.

  • 您可以在项目主目录中的index.android.js文件中找到,最后一行使用您在上面第一个命令中使用的相同名称来扩展App注册表.

  • 官方的_React Native Getting Started_指南中完全没有命令`react-native start`.谢谢你指出! (11认同)

Bhu*_*hta 10

adb reverse tcp:8081 tcp:8081仅适用于Android 5.0 +用于在Android版本小于5.0的设备上运行应用程序npm start在终端(在应用程序目录文件夹中)之后执行以下命令.

curl "http://localhost:8081/index.android.bundle?platform=android" -o "android/app/src/main/assets/index.android.bundle"
Run Code Online (Sandbox Code Playgroud)

现在运行应用程序,它将工作.唯一的缺点是每次进行更改时都需要再次触发命令并再次运行应用程序.


小智 2

10 分钟前我也遇到了同样的问题,我解决这个问题的方法就是阅读这篇文章

https://facebook.github.io/react-native/docs/running-on-device-android.html

当我这样做时,我发现我没有android-tools-adb安装,所以环顾四周我发现

Ubuntu 上出现“找不到命令 'adb'”错误

这给了我答案

sudo apt-get install android-tools-adb
Run Code Online (Sandbox Code Playgroud)

毕竟我设置了

export PATH=${PATH}:~/android-sdk-linux/tools
export PATH=${PATH}:~/android-sdk-linux/platform-tools
Run Code Online (Sandbox Code Playgroud)

然后一切正常,现在我可以在我的 Android 设备中看到我的应用程序。

顺便说一句,我从 React Native 文档中选择的选项就是说我的

“使用adb反向

请注意,此选项在运行 Android 5.0+ (API 21) 的设备上可用。通过 USB 连接您的设备并启用调试(请参阅上面有关如何在设备上启用 USB 调试的段落)。

Run adb reverse tcp:8081 tcp:8081
Run Code Online (Sandbox Code Playgroud)

您可以使用 Reload JS 和其他开发选项,无需额外配置

  • 使用“adb reverse”可以在我的 android 5.0+ 上运行,但我无法在 4.0 设备上运行,我该怎么办? (3认同)