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

时间:2016-03-22 19:01:50

标签: android react-native

我正在尝试做本地' hello world',我在我的android上使用usb调试。

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

我可以在localhost中查看js文件,但是无法连接到开发服务器'我手机上的留言。

我按照说明运行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上工作。

6 个答案:

答案 0 :(得分:25)

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

  • 启动Android Studio - > AVD管理器 - >选择您的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
    
  • 打开一个新的命令提示符并在同一目录(您刚刚创建)中运行以下内容以在AVD上启动应用程序。

    $ react-native run-android
    
  • 如果一切设置正确,您很快就会看到您的新应用在Android模拟器中运行。

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

答案 1 :(得分:10)

adb reverse tcp:8081 tcp:8081仅适用于Android 5.0 +,用于在终端(在app目录文件夹中)npm start完成curl "http://localhost:8081/index.android.bundle?platform=android" -o "android/app/src/main/assets/index.android.bundle" 之后,在Android版本小于5.0的设备上运行应用程序。

typeid(int(&(*)())[10]).raw_name()

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

答案 2 :(得分:4)

我找到了解决方案:)

我在ubuntu 16上,所以,我使用了命令ip addr show,它给了我我的电脑ip地址。

我使用了这个ip地址,我可以在手机上访问localhost。

最后我添加了ip地址和端口号来设置Android手机和我的应用程序能够访问开发服务器

答案 3 :(得分:1)

10分钟前我猜我遇到了同样的问题,我解决这个问题的方法是阅读这个

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

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

'No command 'adb' found' error on Ubuntu

给了我答案

sudo apt-get install android-tools-adb

然后我设置了

export PATH=${PATH}:~/android-sdk-linux/tools
export PATH=${PATH}:~/android-sdk-linux/platform-tools

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

顺便说一下,我选择的选项可以反应原生文档就是那个说我的选项

“使用adb reverse

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

Run adb reverse tcp:8081 tcp:8081

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

答案 4 :(得分:1)

我看到了同样的问题,这都是因为Android应用程序没有此权限:

<uses-permission android:name="android.permission.INTERNET" />

答案 5 :(得分:0)

我有类似的问题。尝试让它在设备上运行时,我会收到此错误。它在我的计算机上的模拟器上工作正常。

问题是我什么时候会做adb设备或者反应原生运行-and android我会得到“ADB不被认可为内部或外部命令”。

所以我的修复方法是将adb.exe父目录的路径添加到我的环境变量中,然后重新启动命令提示符。在我这样做之后,adb设备不会抛出“无法识别的内部外部错误”并且它列出了我的设备。我然后运行react-native run-android并且在启动时没有更多的红色屏幕显示完全无用的错误消息错误调用AppRegistry.runApplication! :)

所以我发现ADB位于我的文件夹中:

C:\用户\ DELL \应用程序数据\本地\的Android \ SDK \平台工具\ adb.exe 我在Windows 10系统上。戴尔是我的电脑用户名。

所以我去了System Environemnt Variables然后找到了“Path”,然后点击了“Edit”,然后点击“New”并添加到“C:\ Users \ dell \ AppData \ Local \ Android \ sdk \ platform-tools”中。