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

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


当前回答

我也遇到了同样的问题,但这是我自己犯的一个愚蠢的错误……

从Android工作室,我从应用程序项目而不是根项目启动installDebug/installRelease gradle脚本。

其他回答

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

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

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

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

当你运行react-native run-android时,请检查是否有以下错误: adb服务器版本(XX)不匹配此客户端(XX);杀死……

在这种情况下,确保/usr/local/opt/android-sdk/platform-tools/adb和/usr/local/bin/adb指向同一个adb

在我的情况下,一个指向/Users/sd/Library/Android/sdk/platform-tools/adb (Android sdk),但另一个指向/usr/local/ caskroom /Android -platform-tools/26.0.2/platform-tools/adb (Homebrew)

问题已经修复后,他们都指向/Users/sd/Library/Android/sdk/platform-tools/adb (Android sdk)

您的应用程序已经在运行,然后停止并再次运行% NPX react-native run-ios

我最终不得不打开我正在使用的端口(默认为8081)。在Linux上,您可以执行以下操作

sudo iptables -A INPUT -p tcp --dport 8081 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
sudo iptables -A OUTPUT -p tcp --sport 8081 -m conntrack --ctstate ESTABLISHED -j ACCEPT

您可以进行测试,看看是否真的需要这样做。只需在Android设备上的Chrome浏览器中导航到开发服务器。如果它没有响应,那么这可能就是您所需要的。如果它有响应,那么这对你没有帮助。