尝试在Android 4.4.2上创建一个反应原生项目,我得到了这个错误屏幕

却找不到解决的办法。我尝试重新启动packager,重新连接设备,甚至重新安装react native并开始新的项目。在6.0.0和更高版本上,它工作得很好。


当前回答

我只是简单地中断我正在运行的应用程序,运行npm I,然后再次通过npm start启动应用程序,它工作正常。

其他回答

在单独的终端上,将您的设备连接到计算机并运行以下命令:

react-native start 
cd user/Library/Android/sdk/platform-tools/
./adb reverse tcp:8081 tcp:8081

应用终端:

react-native run-android 
install apk on your device from this location android/app/build/outputs/apk/app-debug.apk

我的问题是,我通过我的AndroidManifest.xml文件,并删除了行

< uses-permission android: name = " android.permission。互联网" / >

因为我的应用程序不需要网络。然而,react本机调试应用程序确实需要互联网访问(访问packager)。:)

它“随机”出现了这个问题,我花了一段时间才意识到我的场景中哪里出了问题。

在我更新到React-native-cli 2.0.1后,有一条消息输出到日志中,帮助我挖掘并找到根本原因:

JS服务器无法识别,继续构建…

在研究了一些链接后,我发现了这个:

无法识别JS服务器

因为我在windows上,我运行netstat,发现我的VLC播放器也在8081端口上运行,导致了这个问题。 所以,在我的情况下,如果我启动vlc服务器之前的反应本机服务器,它不会工作。

在之前版本的react-native-cli中没有输出相同的日志消息,使其无声地失败。

TL, DR:检查与包管理器(默认为8081)相同的端口上是否有任何东西正在运行

在终端中尝试此命令,然后重新加载。这对我很有效

Adb reverse tcp:8081 tcp:8081

对我来说,这是因为adb不在PATH中。它位于/Users/man/Library/Android/sdk/platform-tools,对我来说可能在其他地方,但无论如何,找到它并将其添加到你的路径,看看是否有帮助。